c# - 接受任何 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
但这似乎也是空的。
有人可以告诉我哪里出错了。
解决方案
您是否尝试过为 API 方法定义使用泛型?我将它用于我的异步任务,只有一个基本模型具有所有 API 调用都具有的任何公共属性,但这不是必需的。
[Post]
public async Task<HttpResponseMessage> myWebApiMethod([FromBody] TReq request)
where TResp : ResponseRptBase, new()
推荐阅读
- java - 您可以创建一个单独的方法来创建 JFrame 大小吗?
- python - 如何在 QWidget 中居中背景图像
- c# - SonarScanner 未在 SonarQube 中发布结果
- javascript - 如何通过加 2 修复未返回长度字符串值的“截断字符串”
- c# - UWP 键盘加速器 FN 问题
- python - 网络抓取 python/pandas 时忽略丢失的表:mlb 数据
- python-3.x - 如何使用 python selenium 从页面中递归地刮取表格
- linux-kernel - ACPI 定义块:系统总线的 _SB 和 _SB_ 之间的区别
- html - 转换 translateY 在 Safari 上不起作用
- c++ - 使用 cmake 静态链接到 Linux 中的 C++ AWS 开发工具包会因链接到共享对象文件而失败