我需要使用 RESTEasy 设计一个 RESTful 服务。客户可以使用他们想要的任意数量的查询参数来调用这个公共服务。我的 REST 代码应该能够以某种方式读取这些查询参数。例如,如果我有图书搜索服务,客户可以拨打以下电话。
http://domain.com/context/rest/books/searchBook?bookName=someBookName
http://domain.com/context/rest/books/searchBook?authorName=someAuthor& pubName=somePublisher
http://domain.com/context/rest/books/searchBook?isbn=213243
http://domain.com/context/rest/books/searchBook?authorName=someAuthor
我必须编写一个如下所示的服务类来处理这个问题。
@Path("/books")
public class BookRestService{
// this is what I currently have, I want to change this method to in-take all the
// dynamic parameters that can come
@GET
@Path("/searchBook")
public Response searchBook(@QueryParam("bookName") String bookName,@QueryParam("isbn") String isbn) {
// fetch all such params
// create a search array and pass to backend
}
@POST
@Path("/addBook")
public Response addBook(......) {
//....
}
}
抱歉格式不好(我无法理解代码格式在这个编辑器中的工作原理!)。如您所见,我需要更改方法 searchBook() 以便它接受任意数量的查询参数。
我在这里看到了类似的帖子,但找不到正确的解决方案。
如何设计一个带有可选参数的 RESTful URL 进行搜索?
任何人都可以对此有所了解吗?