首页 > 解决方案 > 接受任何 JSON 格式到 WabApi(无模型)

问题描述

通常,在编写我的 WebApi 时,传入的 Json 将具有一致的结构,因此我会将其直接映射到以下形式的模型上:

[Post]
public async Task<HttpResponseMessage> myWebApiMethod([FromBody] myModel Request)

这会很好并且工作。

现在我需要为没有通用结构的 Json 输入编码,所以我不能针对“myModel”发布。

我想如果我做这样的事情:

[Post]
 public async Task<HttpResponseMessage> myWebApiMethod([FromBody] string Request)

会完成让 Json 结束的工作,但是当我使用 Swagger 时,请求是空的。我也尝试声明为,HttpRequestMessage但这似乎也是空的。

有人可以告诉我哪里出错了。

标签: c#asp.net-core-webapi

解决方案


您是否尝试过为 API 方法定义使用泛型?我将它用于我的异步任务,只有一个基本模型具有所有 API 调用都具有的任何公共属性,但这不是必需的。

[Post]
public async Task<HttpResponseMessage> myWebApiMethod([FromBody] TReq request) 
where TResp : ResponseRptBase, new()

推荐阅读