Enunciare non riconoscere jaxbelolement
Domanda
Ho un API di riposo completamente funzionante e testato. Per creare la documentazione che sto usando Enunciate.
Gli oggetti di richiesta e risposta sono generati da file XSD utilizzando JAXB. Nella documentazione gli oggetti di risposta sono riconosciuti ma il tipo di corpo della mia richiesta è (personalizzato) .
La richiesta del corpo è incapsulata in un jaxbelement
Esempio di codice:
.
@POST
@Consumes(
{
MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON
})
@Produces(
{
MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON
})
public ResponseObject post(JAXBElement<CreateRequestObject> JAXBCreateRequestObject,
@HeaderParam(value = "X") String x,
@HeaderParam(value = "Y") String y) throws WebApplicationException
C'è un'annotazione come @TypeHint
per specificare il tipo di oggetto Richiesta?
Soluzione
Dovresti essere in grado di applicare @Typehint al parametro, ad esempio.:
public ResponseObject post(@TypeHint(...) JAXBElement<CreateRequestObject> JAXBCreateRequestObject,
@HeaderParam(value = "X") String x,
@HeaderParam(value = "Y") String y)
.