gpt4 book ai didi

asp.net-mvc - Web API POST 方法

转载 作者:可可西里 更新时间:2023-11-01 16:32:07 25 4
gpt4 key购买 nike

路由配置

config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);

POST 方法

[HttpPost]
public Probabilities Post(string word, string userId) {
Request request = new Request();
request.Identify(word, userId);
Probabilities probabilities = probabilitiesFactory.GetBy(request.ProbabilitiesId, "Id");
return probabilities;
}

我正在尝试发布一些数据,如屏幕截图所示

Postman

我得到一个错误

“在 Controller ‘Identification’上找不到与请求匹配的操作。”

发生了什么事?如何发布 2 个简单的字符串并获得结果

最佳答案

虽然不是强制性的,但您应该遵循良好做法并将有效负载封装到模型中。

public class MyModel {
public sting word { get; set; }
public sting userId { get; set; }
}

然后您可以使用 FromBody 参数属性将模型绑定(bind)到发送的数据。

最后解决资源未找到问题,确保 Controller 遵循正确的约定,因为 OP 配置了基于约定的路由。

public class IdentificationController : ApiController {

[HttpPost]
public Probabilities Post([FromBody] MyModel model) {
string word = model.word;
string userId = model.userId;
Request request = new Request();
request.Identify(word, userId);
Probabilities probabilities = probabilitiesFactory.GetBy(request.ProbabilitiesId, "Id");
return probabilities;
}
}

Reference: Parameter Binding in ASP.NET Web API

Reference: Routing in ASP.NET Web API

关于asp.net-mvc - Web API POST 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45737887/

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