【发布时间】:2021-09-10 03:13:47
【问题描述】:
我想使用 wso2 api manager 保护 .net core api,因为我已经在 api 上启用了 swagger 并能够获得发布响应。我用大摇大摆的定义创建了 Api
http://localhost:5000/swagger/v1/swagger.json
并给定端点 http://localhost:5000/api/BigData 将在 swagger ui 中获得响应
现在我正在尝试使用 api 测试与令牌一起工作的 wso2api 显示错误
来自 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"
}'```
【问题讨论】:
-
您可以尝试使用 cURL 命令调用 API 并共享输出吗?
405Method Not allowed 是由于您尝试从浏览器调用 GET 资源而产生的(如果您从浏览器执行 URL,它将是 GET 和 POST)。另外,您能否指定已在 API Manager 中配置的生产端点?如果您将实际端点的完整 URL 提到为生产端点,那么 API 需要重构 -
这是我使用 swagger post 客户端
curl -X 'POST' \ 'http://localhost:5000/api/BigData' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "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"}'发送的 curl 请求 -
api 端点 URL 我为沙盒和生产设置了
http://localhost:5000/api/BigData -
我为响应屏幕编辑了帖子
-
感谢您的更新。我相信您已经在 API 管理器中创建了一个以
POST为/api/BigData的 API 资源。如果是,请将Production和Sandbox端点更新为http://localhost:5000(不指定完整的URL,因为API 管理器会将资源附加到所提到的端点的末尾)。保存 API 并尝试场景
标签: rest .net-core wso2 wso2-am