在restfull WS中,如何告诉客户端仅发送csv和文本格式文件。
在content-type
标头中,客户端设置发送请求的格式,在Accept
标头中,客户端设置要接收响应的格式。
但是如何告诉客户端仅发送content-type
csv或文件?这是通过一些文档吗?
答案 0 :(得分:3)
415
状态代码似乎适合这种情况:
6.5.13. 415 Unsupported Media Type
415
(不受支持的媒体类型)状态码表示 原始服务器拒绝服务请求,因为有效负载 是目标资源上此方法不支持的格式。 格式问题可能是由于请求的指示Content-Type
或Content-Encoding
,或检查 直接数据。
响应有效负载可能包含服务器支持的媒体类型的列表。
答案 1 :(得分:0)
您有一个名为/textfiles
的端点-使用API的开发人员通常会阅读有关如何实现此端点的文档。除非您没有做一些自动发现的魔术(我想这还不常见)。
以我们的Facebook为例,他们只是在documentation中指出您可以发送的文件:
我们接受以下文件:3g2、3gp,3gpp,[...]
您的问题:
但是如何告诉客户端仅发送内容类型的csv或文件?
也不清楚。用户发送请求后,他已经附加了他认为可以发送的文件。因此,在这里您宁愿发送一条错误消息并指出允许哪些文件。那么我们在这里谈论一些“预先”要求吗?
从后端开发人员的角度来看,我只能告诉您:它在文档中。正确处理错误,文档和您的实施开发人员不会讨厌您:)
答案 2 :(得分:0)
if i develop a restful application using spring i would set the produces attribute to return csv or plain text ( https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html) . if the client tries to request a resource other than csv or text it will recieve an error . probably 415