gpt4 book ai didi

c# - Asp.Net Core "Web API"路由返回 404 未找到

转载 作者:行者123 更新时间:2023-12-02 20:28:59 24 4
gpt4 key购买 nike

在装有 Asp.net Core 2 的 Windows 7 开发机器上,我们所有返回数据(不是 View )的 API 特定路由都有效。

一位开发人员最近在他的新 Windows 10 机器上设置了 API。当我们在 Postman 或 swagger 中运行路由时,他只能让一个特定的 GET 路由工作(额外的花絮 - 所以这是唯一不调用 EntityFramework 的路由).

所有其他路由都返回 404 Not Found,就好像 URL 不存在一样。返回 404 的不是我们的代码,而是平台本身。

由于服务器返回 404,因此我们的代码都没有被执行,因此也没有有用的日志记录。

我还在 Win server 2016 机器上部署并测试了它,并遇到了同样的问题。

我在此服务器上做的最后一件事是安装 Asp.net Core 2 SDK,但没有任何效果。

一些代码:

[Produces("application/json")]
[Route("api/v1/Signatures/Request")]
public class SignatureRequestController : ControllerBase

[HttpPost]
[Route("")]
public async Task<SignatureRequestBaseResponse>
CreateSignatureRequestAsync([FromBody]SignatureRequest signatureRequest)

示例 POST 网址:

http://localhost/My.API/api/v1/signatures/request/

示例 json 正文:

{
"clientApplicationInstanceId" : "4318704B-7F90-4CAE-87A9-842F2925FE45",
"facilityId" : "PT",
"contact": "me@my.com",
"documentInstanceGuid" : "cc46c96f-cd78-448e-a376-cb4220d49a52",
"messageType" : "1",
"localeId": 1,
"field":
{
"fieldId": 45,
"signatureType": "4",
"displayName": "Short Display Name from iMed4Web",
"signerNameCaption": "signer name caption",
"signerAddressCaption": "address caption",
"signerCityStateZipCaption": "city state zip caption"
},
"documentPreviewHtml": "too long to show..."
}

最佳答案

您应该将 Route 属性应用于 Controller 方法(操作),您还可以指向与路由关联的 http 动词。看看 t his documentation ,它会帮助你。

关于c# - Asp.Net Core "Web API"路由返回 404 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49323181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com