Web服务中请求的多个内容类型

时间:2017-03-21 11:07:26

标签: java design-patterns content-type

我有一个可以在请求中使用多个内容类型的Web服务

text/plain 
application/json

现在,客户端可以发送任何一个json或text。 我在服务器上有两个选项

  1. 我可以为不同的内容类型创建单独的api
  2. 我可以解析请求数据并检查其是否为json或text?
  3. 这里有什么更好的方法?是否有适合这种需求的设计模式?

    注意:管理层更喜欢拥有一个支持多种内容类型的API。

4 个答案:

答案 0 :(得分:1)

客户端必须包含GitHub标头,指示他们发送给服务器的实体的格式。如果服务器不支持客户端发送的格式,则预期响应为Content-Type

答案 1 :(得分:0)

我会选择选项1并将共同逻辑放在一个单独的方法中。这样,您就可以让API检查并解析输入数据。

答案 2 :(得分:0)

在http中,您使用“accept” - 标头来定义您期望响应的类型。服务器提供接受标头中定义的内容,默认情况下未设置或406 - 如果不支持类型,则为“不可接受”

https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

答案 3 :(得分:0)

一种方法是更彻底地使用@Path注释 -

@javax.ws.rs.Path注释必须存在于类和/或资源方法中。如果它同时存在于类和方法中,则资源方法的相对路径是类和方法的串联。

请参阅此链接https://docs.jboss.org/resteasy/docs/1.1.GA/userguide/html/Using__Path_and__GET___POST__etc..html