我是网络服务方面的新手。我负责将现有的软件组件转换为Web服务。我做了一些研究,并决定使用JAX-RS。我很难决定何时使用@QueryParam以及何时使用@Consume,因为他们似乎能够实现相同的目标。RESTful通过JAX-RS,@QueryParam和@Consume的常见用法是什么?
例如,假设我有一个名为read()的方法,它将一本书作为参数。
public class AReader { public void read(Book book){...} }
public class Book { public String author; public String name; }
当翻译此使用JAX-RS注解,我既可以
- 使用@POST和@QueryParam接受作者和名称参数或
- 使用@POST和@Consumes消耗正文中以XML或JSON格式表示的Book的文本表示形式。
我的问题是什么是@QueryParam和@Consume的常见用法。这仅仅是一种个人偏好,还是有一种惯例?
我发现了很多关于@PathParam和@QueryParam使用情况的信息,而不是@QueryParam和@Consumes。
在此先感谢...
你的意思是@Consumes? – Vidya
取决于您想要提供的客户端界面。查询参数对于浏览器来说“更容易”(如果你想坚持使用HTML表单),原始的JSON或XML对于其他工具来说更简单。 – Thilo
Vidya,的确,我的意思是@Consumes。这是一个错字。谢谢,我纠正了我的帖子。 – beyonddc