我只是想知道,如何通过postman rest客户端使用createTrackInJSON(Track track)
注释将JSON对象发送到@Post
方法。在这里,如何使用@Post注释将JSON对象传递给createTrackInJSON(Track track)方法?
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
中输入URL。Headers
按钮并输入Content-Type
作为标题和application/json
的值。POST
。raw
。JSON
。{
"title" : "test title",
"singer" : "some singer"
}
Send
。我有同样的问题。我通过选择“form-data”选项将我的数据作为key-> value传递给“Body”部分,并且工作正常。