Wie konsumieren von json-parameter in java-restful-service
Wie kann ich das konsumieren von json parameter in meinem webservice, kann ich in der Lage, um die Parameter mit @PathParam aber, um die json-Daten als parameter haben keine Ahnung, was zu tun ist.
@GET
@Path("/GetHrMsg/json_data")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces(MediaType.APPLICATION_JSON)
public String gethrmessage(@PathParam("emp_id") String empid) {
}
Was zu verwenden anstelle von @PathParam und wie zu analysieren später.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nehme an, Sie sprechen über den Verzehr einer JSON-Nachricht Körper gesendet, mit der Anfrage.
Wenn dem so ist, beachten Sie bitte, dass zwar nicht geradezu verboten, es besteht ein allgemeiner Konsens, dass GET-Anfragen sollten nicht haben Anfrage stellen. Siehe die "HTTP-GET-request body" Frage nach Erklärungen, warum.
Ich erwähne das nur, weil Ihr Beispiel zeigt einen GET-request. Wenn Sie eine POST oder PUT, Lesen Sie weiter, aber wenn Sie wirklich tun, eine GET-Anforderung in Ihrem Projekt, ich empfehlen, dass Sie stattdessen Folgen kondu ' s Lösung.
Mit, dass gesagt wird, zu konsumieren, ein JSON-oder XML-message-body, gehören ein (unannotated) - Methode parameter, dass selbst ein JAXB-bean repräsentiert die Nachricht.
So, wenn Ihr Körper der Nachricht sieht wie folgt aus:
Dann erstellen Sie eine entsprechende Klasse, die wie folgt aussieht:
Und Ihre service-Methode würde dann so Aussehen:
Denen ausgeben würde:
Weitere Informationen über die Verwendung der verschiedenen Arten von HTTP-Daten mit JAXB, würde ich empfehlen, Sie überprüfen die Frage "Wie der Zugriff auf die Parameter in einer ruhigen POST-Methode", die hat einige fantastische info.
Bertag ist rechts über dem Kommentar zu BEKOMMEN. Aber wenn Sie wollen POST-Anforderung, die verbraucht json-Daten, dann finden Sie auf den folgenden code:
Für die Referenzierung bitte klicken Sie hier
@PathParam
wird benutzt, um einen Teil der URL als parameter. Zum Beispiel in einem url der formhttp:/example.com/books/{bookid}
verwenden, können Sie@PathParam("bookid")
um die id eines Buches auf eine Methode.@QueryParam
wird verwendet, um Zugriff auf die Schlüssel/Wert-Paare im query-string der URL (der Teil nach dem ?). Zum Beispiel in der urlhttp:/example.com?bookid=1
verwenden, können Sie@QueryParam("bookid")
um den Wert von `bookid.Diese beiden werden verwendet, wenn die Anfrage-url enthält einige Informationen über die Parameter, und Sie können die Daten direkt in Ihre Methoden.
Bitte geben Sie das problem im detail, wenn dieser Beitrag nicht hilft.