IIB 10.19 REST GET 操作未被邮递员调用
IIB 10.19 REST GET Operation Not getting invoked from postman
正在尝试从浏览器和 Postman 调用基本的 REST GET 操作。
在浏览器中,URL 是 http://localhost:7800/restrequest_api/v1/4
其中 4 是我传递的 UserNumber。
调用成功。
但是我无法从 PostMan 调用它。
尝试将 http://localhost:7800/restrequest_api/v1
与 Content-Type
header 作为 application/x-www-form-urlencoded
并选择 body 作为 x-www-form-urlencoded
,密钥 UserNumber 和值 4
这是错误
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>404 Not Found</title>
</head>
<body>
<h1>404 Not Found</h1>
<p>
BIP6311E: REST API ''RESTRequest_API'' does not support method ''GET'' for URL
''http://localhost:7800/restrequest_api/v1''.
</p>
<hr>
</body>
</html>
请注意:CORS 已启用:
mqsichangeproperties TESTNODE_hghatak -e default -o HTTPConnector -n corsEnabled -v true
mqsichangeproperties TESTNODE_hghatak -b httplistener -o HTTPConnector -n corsEnabled -v true
mqsistop TESTNODE_hghatak
mqsistart TESTNODE_hghatak
下面是我用于开发的Swagger文件:
{
"swagger" : "2.0",
"info" : {
"title" : "RESTRequest_API",
"version" : "1.0.0",
"description" : "RESTRequest_API"
},
"paths" : {
"/{UserNumber}" : {
"get" : {
"operationId" : "getUser",
"responses" : {
"200" : {
"description" : "The operation was successful.",
"schema" : {
"$ref" : "#/definitions/Output"
}
}
},
"produces" : [ "application/json" ],
"description" : "Retrieve User",
"parameters" : [ {
"required" : true,
"name" : "UserNumber",
"in" : "path",
"type" : "string"
} ]
}
}
},
"basePath" : "/restrequest_api/v1",
"definitions" : {
"Output" : {
"type" : "object",
"properties" : {
"firstName" : {
"type" : "string"
},
"lastName" : {
"type" : "string"
},
"userDetails" : {
"type" : "string"
},
"userNumber" : {
"type" : "string"
}
}
}
},
"host" : "localhost:7800"
}
有什么问题?
只需 select GET 作为您在 POSTMAN 和 postman select "none" 选项中的 BODY 选项卡中的操作。确保您在邮递员中使用的 URL 与您在浏览器中使用的相同,即 http://localhost:7800/restrequest_api/v1/4
解释:
您的 swagger 文件表明它正在执行 GET 操作,因此不需要发送有效载荷。所以选择内容类型是不适用的。在 swagger 文件的参数部分中,提到了以下内容 "in" : "path",这意味着您必须在 [=37] 中传递一个路径参数=] 即 http://localhost:7800/restrequest_api/v1/4 其中 4 是您示例中的路径参数。您可以通过以下邮递员 link 提供有关发送参数的更多详细信息 => https://learning.postman.com/docs/postman/sending-api-requests/requests/#sending-parameters
正在尝试从浏览器和 Postman 调用基本的 REST GET 操作。
在浏览器中,URL 是 http://localhost:7800/restrequest_api/v1/4
其中 4 是我传递的 UserNumber。
调用成功。
但是我无法从 PostMan 调用它。
尝试将 http://localhost:7800/restrequest_api/v1
与 Content-Type
header 作为 application/x-www-form-urlencoded
并选择 body 作为 x-www-form-urlencoded
,密钥 UserNumber 和值 4
这是错误
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>404 Not Found</title>
</head>
<body>
<h1>404 Not Found</h1>
<p>
BIP6311E: REST API ''RESTRequest_API'' does not support method ''GET'' for URL
''http://localhost:7800/restrequest_api/v1''.
</p>
<hr>
</body>
</html>
请注意:CORS 已启用:
mqsichangeproperties TESTNODE_hghatak -e default -o HTTPConnector -n corsEnabled -v true
mqsichangeproperties TESTNODE_hghatak -b httplistener -o HTTPConnector -n corsEnabled -v true
mqsistop TESTNODE_hghatak
mqsistart TESTNODE_hghatak
下面是我用于开发的Swagger文件:
{
"swagger" : "2.0",
"info" : {
"title" : "RESTRequest_API",
"version" : "1.0.0",
"description" : "RESTRequest_API"
},
"paths" : {
"/{UserNumber}" : {
"get" : {
"operationId" : "getUser",
"responses" : {
"200" : {
"description" : "The operation was successful.",
"schema" : {
"$ref" : "#/definitions/Output"
}
}
},
"produces" : [ "application/json" ],
"description" : "Retrieve User",
"parameters" : [ {
"required" : true,
"name" : "UserNumber",
"in" : "path",
"type" : "string"
} ]
}
}
},
"basePath" : "/restrequest_api/v1",
"definitions" : {
"Output" : {
"type" : "object",
"properties" : {
"firstName" : {
"type" : "string"
},
"lastName" : {
"type" : "string"
},
"userDetails" : {
"type" : "string"
},
"userNumber" : {
"type" : "string"
}
}
}
},
"host" : "localhost:7800"
}
有什么问题?
只需 select GET 作为您在 POSTMAN 和 postman select "none" 选项中的 BODY 选项卡中的操作。确保您在邮递员中使用的 URL 与您在浏览器中使用的相同,即 http://localhost:7800/restrequest_api/v1/4
解释:
您的 swagger 文件表明它正在执行 GET 操作,因此不需要发送有效载荷。所以选择内容类型是不适用的。在 swagger 文件的参数部分中,提到了以下内容 "in" : "path",这意味着您必须在 [=37] 中传递一个路径参数=] 即 http://localhost:7800/restrequest_api/v1/4 其中 4 是您示例中的路径参数。您可以通过以下邮递员 link 提供有关发送参数的更多详细信息 => https://learning.postman.com/docs/postman/sending-api-requests/requests/#sending-parameters