相关疑难解决方法(0)

如何获取Jersey JaxRS中的所有查询参数?

我正在构建一个通用的Web服务,需要将所有查询参数都抓取到一个字符串中以便以后解析.我怎样才能做到这一点?

java jax-rs jersey

89
推荐指数
2
解决办法
6万
查看次数

Jersey ModelValidationException - 未找到注入源

我有一个奇怪的问题,我绝对不明白,使用Jersey 2.6.

我无法解释原因,但其中一个查询参数使得jersey抛出一个ModelValidationException

    @ApiOperation("Save")
    @PUT
    public Response save(
            @HeaderParam("token") final String token,
            @QueryParam("someValue") final SomeValueDTO someValue,
            @QueryParam("anotherParam") final int anotherParam) throws TechnicalException {

        return Response.ok().build();
    }
Run Code Online (Sandbox Code Playgroud)

queryParam'ometValue'使jersey throw:

org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.|[[FATAL] No injection source found for a parameter of type public javax.ws.rs.core.Response ch.rodano.studies.api.resources.PagesResource.save(java.lang.String,ch.rodano.studies.api.dto.JSONValueDTO,int) throws ch.rodano.studies.exceptions.RightException,ch.rodano.studies.configuration.exceptions.NoNodeException at index 1.; source='ResourceMethod{httpMethod=PUT, consumedTypes=[], producedTypes=[application/json], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class ch.rodano.studies.api.resources.PagesResource, handlerConstructors=[org.glassfish.jersey.server.model.HandlerConstructor@41ed3918]}, definitionMethod=public javax.ws.rs.core.Response ch.rodano.studies.api.resources.PagesResource.save(java.lang.String,ch.rodano.studies.api.dto.JSONValueDTO,int) throws ch.rodano.studies.exceptions.RightException,ch.rodano.studies.configuration.exceptions.NoNodeException, parameters=[Parameter [type=class java.lang.String, source=token, defaultValue=null], …
Run Code Online (Sandbox Code Playgroud)

java jax-rs jersey

8
推荐指数
1
解决办法
8114
查看次数

REST Web 服务 - 动态查询参数

我需要将动态查询参数发送到 REST Web 服务 GET 方法 [如下所示]。

主机:端口/应用程序?field1=XXX&value1=VVV&field2=XXX&value2=XXX ....

消费者最多可以发送 fieldn 和 valuen 参数。每个字段都映射到值。

对于这种类型的要求,我无法在服务器端方法上编写一组有限的 QueryParams。

是否有任何类型的 REST 库支持此功能?我检查了 RESTEasy 和 Jersey,他们似乎都不支持这一点 [据我检查]。

谢谢。

rest web-services get

4
推荐指数
1
解决办法
6169
查看次数

使用RESTful URL传递不确定的查询参数并在RESTEasy中读取它们

我需要使用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
Run Code Online (Sandbox Code Playgroud)

我必须写一个像下面这样的服务类来处理这个问题.

@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(......) {
    //....
     }
    }
Run Code Online (Sandbox Code Playgroud)

抱歉格式不好(我无法了解代码格式在这个编辑器中的工作方式!).如您所见,我需要更改方法searchBook(),以便它可以使用任意数量的查询参数.

我在这里看到了类似的帖子,但找不到合适的解决方案.

如何使用可选参数设计用于搜索的RESTful URL?

请问有人对此有所了解吗?

resteasy url-parameters

3
推荐指数
1
解决办法
8030
查看次数

标签 统计

java ×2

jax-rs ×2

jersey ×2

get ×1

rest ×1

resteasy ×1

url-parameters ×1

web-services ×1