Je veux juste savoir comment envoyer un objet JSON à la méthode createTrackInJSON(Track track)
, avec une annotation @Post
par le client postman . Ici, comment passer un objet JSON à la méthode createTrackInJSON (Track Track), avec une annotation @Post?
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.mkyong.Track;
@Path("/json/metallica")
public class JSONService {
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_JSON)
public Track getTrackInJSON() {
Track track = new Track();
track.setTitle("Enter Sandman");
track.setSinger("Metallica");
System.out.println("inside get method . . .");
return track;
}
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
public Response createTrackInJSON(Track track) {
System.out.println("inside post method . .");
String result = "Track saved : " + track;
return Response.status(201).entity(result).build();
}
}
//Track class is:
public class Track {
String title;
String singer;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSinger() {
return singer;
}
public void setSinger(String singer) {
this.singer = singer;
}
@Override
public String toString() {
return "Track [title=" + title + ", singer=" + singer + "]";
}
}
Postman
.http://{server:port}/json/metallica/post
.Headers
et entrez Content-Type
en-tête et application/json
en valeur.POST
dans le menu déroulant en regard de la zone de texte URL.raw
parmi les boutons disponibles sous la zone de texte URL.JSON
dans le menu déroulant suivant.Dans la zone de texte disponible ci-dessous, postez votre objet de requête:
{
"title" : "test title",
"singer" : "some singer"
}
Hit Send
.
Reportez-vous à la capture d'écran ci-dessous:
L'interface de Postman change en fonction des mises à jour.
Ainsi, vous pouvez obtenir des informations complètes sur postman peut obtenir ici.
JSON: -
Pour les demandes POST utilisant un objet json, vous pouvez le configurer en sélectionnant
Corps -> brut -> application/json
Données de formulaire (Pour le contenu normal POST): - multipart/form-data
Pour une demande POST normale (à l'aide de multipart/form-data), vous pouvez le configurer en sélectionnant
Corps -> données de formulaire
J'ai eu le même problème . J'ai passé mes données comme clé-> valeur dans la section "Corps" en choisissant l'option "formulaire-données" et cela a bien fonctionné.