像twitter这样的网站如何解析REST中的返回类型

像twitter这样的网站如何解析REST中的返回类型,rest,Rest,像Twitter这样的网站如何为可以有多种返回类型的API构建服务器端 例如: 在此链接中,您可以找到他们的示例资源url为“” 使用“.json”扩展名,它们区分返回类型。我的问题基本上是,如果这是他们使用的方法,那么使用普通的字符串操作解析url并获取扩展,或者他们的REST中内置的支持是否能够做到这一点。 另外,对于多个返回类型,最好有多个API,还是有一个API可以有多个返回类型?在Java中,JAX-RS规范提供了@products注释。背景 @Produces("applicatio

像Twitter这样的网站如何为可以有多种返回类型的API构建服务器端

例如: 在此链接中,您可以找到他们的示例资源url为“”

使用“.json”扩展名,它们区分返回类型。我的问题基本上是,如果这是他们使用的方法,那么使用普通的字符串操作解析url并获取扩展,或者他们的REST中内置的支持是否能够做到这一点。
另外,对于多个返回类型,最好有多个API,还是有一个API可以有多个返回类型?

在Java中,JAX-RS规范提供了
@products
注释。背景

@Produces("application/json")
在方法上,将使此方法将任何请求与HTTP头匹配

Accept: application/json
显然,Twitter正在做其他事情。使用JAX-RS,您可以使用路径匹配

@Produces("application/json")
@Path("/1.1/statuses/update.json")
可能是prodcues
application/json
while的方法的注释

@Produces("application/xml")
@Path("/1.1/statuses/update.xml")
可能是产生
application/xml
的注释


我建议不要采用Twitter的方式将内容类型放入URI。相反,使用适当的HTTP内容协商工具与HTTP头
Accept
content-Type

进行内容协商,您必须询问Twitter他们是如何做到的。