У меня есть конечная точка REST, как показано ниже.Как использовать объект param вместо нескольких параметров, когда слишком много дополнительных параметров для конечной точки REST
@Path("/api/observers")
public interface MyServiceEndpoint {
@GET
@Path("/history")
HistoryPage<Action> getObserverHistory(@QueryParam("pageNum") @DefaultValue("1") int pageNum,
@QueryParam("pageSize") @DefaultValue("25") int pageSize,
@QueryParam("methodName") String methodName,
@QueryParam("dateBefore") String dateBefore,
@QueryParam("dateAfter") String dateAfter,
@QueryParam("actionUUID") String actionUUID,
@QueryParam("supersededByUUID") String supersededByUUID,
@QueryParam("eventUUID") String eventUUID,
@QueryParam("wasSuccessful") Boolean wasSuccessful);
}
Как вы можете видеть, существует много параметров, и некоторые из них будут необязательными. Мне сказали, что лучшим шаблоном проектирования будет использование объекта param вместо указания этих нескольких параметров. Я новичок в REST, и я понятия не имею, что это значит и как это сделать.
Я также хочу знать, как это будет сделано, как это использовать из службы AngularJS? Сейчас я потребляя эту существующую конечную точку, как:
myService.toggleEnabled = function (observer) {
return $http({
method: 'PUT',
url: 'api/observers/history',
headers: {
'Accept': mimeType,
'Content-Type': mimeType
},
params : {
pageNum: 1,
pageSize: 5
}
});
};
Может кто-нибудь дать мне пример для этого или мне точку в правильном направлении/ресурсов?
Чтение JAX-RS док https://jersey.java.net/apidocs-javax.jax-rs/2.0.1/javax/ws/rs/BeanParam.html – Chandu