Our query parameters have a structure (effectively, they form a Map<String,Bindings>
) which is causing repetition in the JAX-RS bindings.
Can we change the bindings to eliminate repetition?
@GET @Produces("application/json;charset=UTF-8")
List<BoundThings> getSomeBoundThings(
@PathParam("id") UUID id,
@QueryParam("bindings.organisation") Bindings orgBindings,
@QueryParam("bindings.person") Bindings personBindings,
@QueryParam("bindings.location") Bindings locBindings,
@QueryParam("bindings.brand") Bindings brandBindings,
@QueryParam("bindings.genre") Bindings genreBindings,
@QueryParam("bindings.icb") Bindings icbBindings,
@QueryParam("bindings.iptc") Bindings iptcBindings,
@QueryParam("bindings.section") Bindings sectionBindings,
@QueryParam("bindings.subject") Bindings subjBindings,
@QueryParam("bindings.topic") Bindings topicBindings,
@QueryParam("bindings.specialreport") Bindings rptBindings) {
}
Just for context, the method looks up metadata for a specific entity identified by UUID. Bindings is an enum identifying the type of binding to use. Each binding defines a relationship.
Would it be possible to use Map<String,Bindings>
? How?