dotnet core 5 Webapi 向 HTTPPOST 发送 Json 响应
Posted
技术标签:
【中文标题】dotnet core 5 Webapi 向 HTTPPOST 发送 Json 响应【英文标题】:dotnet core 5 Webapi Send Json response to HTTPPOST 【发布时间】:2022-01-09 02:51:59 【问题描述】:[HttpPost]
public HttpResponseMessage Post([FromBody] clsTicketInfo ticketInfo)
try
var message = new HttpResponseMessage(HttpStatusCode.OK);
var data = new Dictionary<string, string>
"id","72832",
"name","John"
;
var jsonData = JsonConvert.SerializeObject(data);
message.Content = new StringContent(jsonData, System.Text.Encoding.UTF8, "application/json");
// Request.CreateResponse()
return message;
catch (Exception ex)
return new HttpResponseMessage(HttpStatusCode.BadRequest);
//HttpResponseMessage(HttpStatusCode.Created, ticketInfo);
在这段代码中,我想在我的 HTTP POST 中发送 Status ok 和 JSON 数据,但它不起作用。我正在使用 dotnet core 版本 5。
【问题讨论】:
【参考方案1】:你只需要这个
public ActionResult Post([FromBody] clsTicketInfo ticketInfo)
return Ok( new id =72832, name = "John" );
带有消息的http响应将由net mvc自动创建
【讨论】:
【参考方案2】:[HttpPost]
public IActionResult HttpResponseMessage Post([FromBody] clsTicketInfo ticketInfo)
try
var data = new Dictionary<string, string>
"id","72832",
"name","John"
;
var jsonData = JsonConvert.SerializeObject(data);
return ok(jsonData);
catch (Exception ex)
return Badrequest('error':ex.message)
IActionResult 可以在使用 ok,badrequest, notfound 时向前端发送响应。
【讨论】:
您或许应该解释一下为什么这行得通,这就是答案。以上是关于dotnet core 5 Webapi 向 HTTPPOST 发送 Json 响应的主要内容,如果未能解决你的问题,请参考以下文章
将 JSON 数据发布到 Dotnet Core webapi
dotnet core webapi json-api 兼容查询字符串路由
如何为 dotnet core(web Api) 代码更改以及 TypeScript 代码更改启用实时重新加载
Asp.Net Core WebAPI [dotnet publish --self-contained -r linux-64] 放入Docker容器后是不是真的自包含