wso2api manager 4.0 with Post Request Error: Not Found
wso2api manager 4.0 with Post Request Error: Not Found
我想用 wso2 api 管理器保护 .net 核心 api,为此我在 api 上启用了 swagger 并且能够获得 post 响应。我创建了 Api with swagger defination
http://localhost:5000/swagger/v1/swagger.json
和给定的端点 http://localhost:5000/api/BigData 将得到响应 ui
现在我正在尝试使用 api 测试 wso2 的令牌api 显示错误
来自 wso2-am 的 curl 请求
curl reuqest semding from wso2-am ```curl -X 'POST' \
'http://localhost:8280/api/v1/api/BigData' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Internal-Key: eyJraWQiOiJnYXRld2F5X2NlcnRpZmljYXRlX2FsaWFzIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJhZG1pbkBjYXJib24uc3VwZXIiLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMlwvdG9rZW4iLCJrZXl0eXBlIjoiUFJPRFVDVElPTiIsInN1YnNjcmliZWRBUElzIjpbeyJzdWJzY3JpYmVyVGVuYW50RG9tYWluIjpudWxsLCJuYW1lIjoiQmlnRGF0YUFQSSIsImNvbnRleHQiOiJcL2FwaVwvdjEiLCJwdWJsaXNoZXIiOiJhZG1pbiIsInZlcnNpb24iOiJ2MSIsInN1YnNjcmlwdGlvblRpZXIiOm51bGx9XSwiZXhwIjoxNjI0OTIyMzg3LCJ0b2tlbl90eXBlIjoiSW50ZXJuYWxLZXkiLCJpYXQiOjE2MjQ4NjIzODcsImp0aSI6ImZiYjQ2OGQ0LWUyOTItNGEyZC1hZmEzLTdhNzFlODUxNTlhNCJ9.Xkz9jigCPs3I65kI40rigE6L8mA-w4kks3n7Cabahg1dMVEo8AVs64PXuKBshucuT_vk5ms-7wFiIiI0pdXrL1ymOlEacBtW2r1F-WvV7o9SVw6lpF4EQNsIFi96Exe5Gg0k2wSaG1iErJ2P8boOQGI66fudGfjC-Gt1RJxfE-ZwQ_aS7fNur4G7HFAbBOdSq3yNDWjsMiv9k4IBlQ-IkJj88zSM6eXnHbtiAJKB84bAkFX7PDxXzjdItGkTKBx2oW11SO27xvqlrlJCHh6dcvEKb1_XZIjyrrvQjTGTX0cTgUlL0HQFOL9RwavrDwXh_fsP51zhGbbLozuUbhUKWg' \
-d '{
"messageID": "string",
"tenantName": "string",
"tenantID": "string",
"entityID": "string",
"entityType": "string",
"dataType": "string",
"messageKind": "string",
"routing": "string",
"payload": "string",
"type": "string",
"clientID": "string",
"userID": "string",
"isAdmin": true,
"fabric": "string",
"capabilityId": "string",
"sourceSystem": "string",
"applicationName": "string"
}'```
当我再次检查端点时,不允许其显示方法
关于共享信息,我相信您已经将 API 资源配置为 /api/BigData
。如果是这种情况,请将 Production
和 Sandbox
端点更新为 http://localhost:5000
而不是实际端点的完整 URL 以克服 404
错误。
API 管理器使用并附加在 Production/Sandbox 端点末尾定义的 API 资源。因此,当您配置 API 并公开它时,您必须确保选择正确的端点。
例如:
如果您有一个具有以下端点 https://backendserver/api/v1/get
和 https://backendserver/api/v1/post
的实际后端服务器,那么您必须在 API 管理器中配置一个 API,如下所示
- 使用以下两个资源创建一个API
/get
/post
- 将生产/沙盒端点配置为
https://backendserver/api/v1
然后,如果您使用 API 管理器端点 (https://apimanager:8243/your-api/v1/get
) 调用 API,/get
资源将附加到配置的端点和请求将作为 https://backendserver/api/v1/get
.
希望这能解释并让您简要了解 API 管理器中的 URL 映射。
我想用 wso2 api 管理器保护 .net 核心 api,为此我在 api 上启用了 swagger 并且能够获得 post 响应。我创建了 Api with swagger defination
http://localhost:5000/swagger/v1/swagger.json
和给定的端点 http://localhost:5000/api/BigData 将得到响应 ui
现在我正在尝试使用 api 测试 wso2 的令牌api 显示错误
来自 wso2-am 的 curl 请求
curl reuqest semding from wso2-am ```curl -X 'POST' \
'http://localhost:8280/api/v1/api/BigData' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Internal-Key: eyJraWQiOiJnYXRld2F5X2NlcnRpZmljYXRlX2FsaWFzIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJhZG1pbkBjYXJib24uc3VwZXIiLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMlwvdG9rZW4iLCJrZXl0eXBlIjoiUFJPRFVDVElPTiIsInN1YnNjcmliZWRBUElzIjpbeyJzdWJzY3JpYmVyVGVuYW50RG9tYWluIjpudWxsLCJuYW1lIjoiQmlnRGF0YUFQSSIsImNvbnRleHQiOiJcL2FwaVwvdjEiLCJwdWJsaXNoZXIiOiJhZG1pbiIsInZlcnNpb24iOiJ2MSIsInN1YnNjcmlwdGlvblRpZXIiOm51bGx9XSwiZXhwIjoxNjI0OTIyMzg3LCJ0b2tlbl90eXBlIjoiSW50ZXJuYWxLZXkiLCJpYXQiOjE2MjQ4NjIzODcsImp0aSI6ImZiYjQ2OGQ0LWUyOTItNGEyZC1hZmEzLTdhNzFlODUxNTlhNCJ9.Xkz9jigCPs3I65kI40rigE6L8mA-w4kks3n7Cabahg1dMVEo8AVs64PXuKBshucuT_vk5ms-7wFiIiI0pdXrL1ymOlEacBtW2r1F-WvV7o9SVw6lpF4EQNsIFi96Exe5Gg0k2wSaG1iErJ2P8boOQGI66fudGfjC-Gt1RJxfE-ZwQ_aS7fNur4G7HFAbBOdSq3yNDWjsMiv9k4IBlQ-IkJj88zSM6eXnHbtiAJKB84bAkFX7PDxXzjdItGkTKBx2oW11SO27xvqlrlJCHh6dcvEKb1_XZIjyrrvQjTGTX0cTgUlL0HQFOL9RwavrDwXh_fsP51zhGbbLozuUbhUKWg' \
-d '{
"messageID": "string",
"tenantName": "string",
"tenantID": "string",
"entityID": "string",
"entityType": "string",
"dataType": "string",
"messageKind": "string",
"routing": "string",
"payload": "string",
"type": "string",
"clientID": "string",
"userID": "string",
"isAdmin": true,
"fabric": "string",
"capabilityId": "string",
"sourceSystem": "string",
"applicationName": "string"
}'```
关于共享信息,我相信您已经将 API 资源配置为 /api/BigData
。如果是这种情况,请将 Production
和 Sandbox
端点更新为 http://localhost:5000
而不是实际端点的完整 URL 以克服 404
错误。
API 管理器使用并附加在 Production/Sandbox 端点末尾定义的 API 资源。因此,当您配置 API 并公开它时,您必须确保选择正确的端点。
例如:
如果您有一个具有以下端点 https://backendserver/api/v1/get
和 https://backendserver/api/v1/post
的实际后端服务器,那么您必须在 API 管理器中配置一个 API,如下所示
- 使用以下两个资源创建一个API
/get
/post
- 将生产/沙盒端点配置为
https://backendserver/api/v1
然后,如果您使用 API 管理器端点 (https://apimanager:8243/your-api/v1/get
) 调用 API,/get
资源将附加到配置的端点和请求将作为 https://backendserver/api/v1/get
.
希望这能解释并让您简要了解 API 管理器中的 URL 映射。