我有相同的资源需要支持多种数据类型作为输入的要求吗?什么是最好的方式来做到这一点? 我是否应该明确提及输入数据类型必须是2个不同的资源?或者有没有一种方法来区分基于像Content-Type这样的头部的输入对象?POST的REST输入:相同的资源可以区分JSON和XML输入吗?
另一个问题是,即使有办法在单个资源中执行此操作,如何定义我的对象?正如我想改变这两种格式的对象。
我使用JAVA进行开发。
我有相同的资源需要支持多种数据类型作为输入的要求吗?什么是最好的方式来做到这一点? 我是否应该明确提及输入数据类型必须是2个不同的资源?或者有没有一种方法来区分基于像Content-Type这样的头部的输入对象?POST的REST输入:相同的资源可以区分JSON和XML输入吗?
另一个问题是,即使有办法在单个资源中执行此操作,如何定义我的对象?正如我想改变这两种格式的对象。
我使用JAVA进行开发。
或者有没有一种方法来区分基于像Content-Type这样的头部的输入对象?
这就是Content-Type请求标头的用途。使用它。
正如Quentin所提到的,您可以使用Content-Type来区分输入资源。在jax-rs实现中,您可以使用@Consumes
以及需要的@Produces
批注来匹配请求并适当地处理它们。
如果你有不同的对象绑定到不同的输入格式,只需使用不同的映射器。
感谢您的回复。我发现难以理解的是,即使API的路径相同,REST是否足够智能以基于内容类型在API之间切换? – baam
是的,你尝试过吗? – techuser
谢谢。我试过了,它工作。 – baam