我的应用程序允许上传文件。作为一种限制,我想限制只有特定扩展名的文件(例如pdf(
因此,如果上传了一个pdf扩展名的文件,我会返回200/201 ok
状态码,以指示上传成功。
我很困惑,在阅读了多个答案后,我应该为非pdf文件返回什么-
-
400-返回
400 bad request
的参数是请求由于验证而失败。不使用的参数有时也表示在发出请求时出现语法错误 -
415-返回
415 Unsupported Media
的参数是文件扩展名不相同。(将媒体视为文件(,但内容类型(多部分/表单数据(匹配并且受支持 -
422-使用
422 unprocessable entity
的参数是服务器了解内容类型(多部分/表单数据(,但仍然无法处理请求。但另一方面,如果用例只是上传文件,它仍然可以处理
来自MDN:
415不支持的媒体类型
HTTP 415不支持的媒体类型客户端错误响应代码指示服务器拒绝接受请求,因为有效负载格式为不支持的格式。
格式问题可能是由于请求指示的"内容类型"或"内容编码",或者是直接检查数据的结果。
我认为最后一句话特别指出,415并不严格适用于不支持的Content-Type
标头。