C# .NET 中 POST 的属性路由
Attribute routing for POST in C# .NET
下面给我args=null
当我POST
用body{"args": 222}
。如何将 body 的成员放入我的变量 args
(或将整个 body 放入变量 body
)
[HttpPost("{className}/{methodName}")]
public ActionResult<string> Post(string className, string methodName, string args){}
如果您想使用属性路由,您必须在 WebAPIConfig 中启用属性路由。每个动作 PUT、GET、POST 等也有一个 [Route()]
我看你做的是常规路由
有关属性路由的更多信息,我建议您阅读此 https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2
JSON
{"args": 222}
表示 args
是一个数字。
创建一个模型来保存预期数据
public class Data {
public int args { get; set; }
}
更新操作以明确期望来自请求正文的数据
[HttpPost("{className}/{methodName}")]
public ActionResult<string> Post(string className, string methodName, [FromBody] Data body) {
if(ModelState.IsValid) {
int args = body.args
//...
}
return BadRequest(ModelState);
}
下面给我args=null
当我POST
用body{"args": 222}
。如何将 body 的成员放入我的变量 args
(或将整个 body 放入变量 body
)
[HttpPost("{className}/{methodName}")]
public ActionResult<string> Post(string className, string methodName, string args){}
如果您想使用属性路由,您必须在 WebAPIConfig 中启用属性路由。每个动作 PUT、GET、POST 等也有一个 [Route()]
我看你做的是常规路由
有关属性路由的更多信息,我建议您阅读此 https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2
JSON
{"args": 222}
表示 args
是一个数字。
创建一个模型来保存预期数据
public class Data {
public int args { get; set; }
}
更新操作以明确期望来自请求正文的数据
[HttpPost("{className}/{methodName}")]
public ActionResult<string> Post(string className, string methodName, [FromBody] Data body) {
if(ModelState.IsValid) {
int args = body.args
//...
}
return BadRequest(ModelState);
}