我的 web api 返回错误代码500,如果客户端 POST 的某些数据并且未指定内容类型。
错误信息
没有 MediaTypeFormatter 可用于从媒体类型为“未定义”的内容中读取“文档”类型的对象。
显示服务器找不到格式化程序。
但在这种情况下:“客户端没有设置内容类型或未知内容类型”,客户端对错误负责 - 而不是服务器。Web api 应该返回类似4XX的东西,而不是错误代码 500 。
我的问题是:如何配置 web api 它将返回状态码 400。
另一个例子是: 内容协商时:如果客户端发送他接受 XML,但服务器不能发送 XML 而是 JSON,那么服务器无论如何都会发送 JSON。在这种情况下,web api 应该返回状态码:406 Not Acceptable。