我是 web api 的新手,我需要为客户端创建一个服务器。我无法控制客户 - 无法改变任何事情。
客户端在 POST 正文中发送一个 html 封装的 json 请求。但是,内容类型可能会有所不同。我需要做什么才能让我的 ApiController 处理不同的内容类型?
我是 web api 的新手,我需要为客户端创建一个服务器。我无法控制客户 - 无法改变任何事情。
客户端在 POST 正文中发送一个 html 封装的 json 请求。但是,内容类型可能会有所不同。我需要做什么才能让我的 ApiController 处理不同的内容类型?
在底层,Web Api 支持内容协商Content-Type
机制,可以根据HTTP 请求中的标头自动选择正确的格式化程序。
默认情况下,内容协商支持三种格式化程序json
:xml
和form-urlencoded data
。如果未找到格式化程序,客户端将收到 HTTP 错误 406(不可接受)。
看更多:
如果您需要允许 Web Api 支持另一个Content-Type
,您可以编写自己的自定义格式化程序:
https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/media-formatters