REST:告诉客户端仅发送csv和文本格式

时间:2019-01-07 10:25:23

标签: java rest web-services

在restfull WS中,如何告诉客户端仅发送csv和文本格式文件。

content-type标头中,客户端设置发送请求的格式,在Accept标头中,客户端设置要接收响应的格式。

但是如何告诉客户端仅发送content-type csv或文件?这是通过一些文档吗?

3 个答案:

答案 0 :(得分:3)

415状态代码似乎适合这种情况:

  

6.5.13. 415 Unsupported Media Type

     

415(不受支持的媒体类型)状态码表示     原始服务器拒绝服务请求,因为有效负载     是目标资源上此方法不支持的格式。     格式问题可能是由于请求的指示     Content-TypeContent-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