在旧版本的 ASP.NET Web API(即 Web API 2)中,客户端可以将其请求作为“application/json”或“application/x-www-form-urlencoded”内容发送,并且相同的操作可以互换处理。Web API 2 有一种JQueryMvcFormUrlEncodedFormatter
类型,负责通过将正文作为表单数据读取并调用模型绑定器来“格式化”输入。
这在 ASP.NET Core 中似乎是不可能的。默认情况下,它不绑定表单数据并返回 415 响应。如果我们想支持从表单绑定,那么我们必须使用[FromForm]
属性,但现在 JSON 正文返回 415 响应。
我知道我可以为同一路由创建两个操作方法,每个操作都配置为使用(通过[Consumes]
属性)不同的内容类型。但是有没有办法用一个单一的动作方法来完成呢?