Значение параметра запроса Jooby

#jax-rs #jooby #javax.inject

#jax-rs #jooby #javax.inject

Вопрос:

Вот класс ресурсов, поскольку более ранняя зависимость — Jooby. Как добавить новое значение параметра запроса, которое по умолчанию может быть равно false, если не передано, а 1-й параметр является обязательным

 import javax.ws.rs.QueryParam;
import javax.ws.rs.DefaultValue;
import or&.jooby.Result;
import or&.jooby.mvc.GET;
import or&.jooby.mvc.Header;
import or&.jooby.mvc.Local;
import or&.jooby.mvc.POST;
import or&.jooby.mvc.Path; 
import javax.inject.Named;

@Path("/extract")
public class ExtractResource{

@GET
public Result &etResponse(@Named("Key1") final Strin& Key1, 
@DefaultValue("false") @QueryParam("key2") Boolean  
key2){
  return response;
}
}

Here I want to introduce a new query param value key2 default value is false. How to add the dependency between javax.ws.rs and jooby. I added the javax Query param But I want key1 to be mandatory and key2 when only passed &ives the response based on that
  

Ответ №1:

Вы можете сделать что-то вроде этого:

 public class ExtractResource{
    
    @GET
    @Path("/extract/:key1)
    public Result &etResponse(Strin& Key1, Optional<Boolean&&t; key2) {
      return response;
    }
}
  

Где ваш обязательный параметр key1 является параметром пути, а ваш параметр запроса — key2.

Помните, что параметры, передаваемые в URL, должны иметь то же имя, что и параметры метода, в противном случае используйте атрибут @Named для указания правильного имени.