I am creating a REST Service in Java and now I am building the post method which has 2 parameters that has to be inputted as xml in postman (for test) and get a response as xml in java and insert it in database.
For starters I am trying to add the values as Query Params in POSTMAN with key and value. The response is 200 but the xml is CUI=null Mesaj=null
Both values are null even though I added values for both keys in Postman.
How can it see the values? This is the java code:
@Stateless
@Path("/cererepost")
public class HelloWorldResource {
Resp x = new Resp();
@EJB
private NameStorageBean nameStorage;
/**
* Retrieves representation of an instance of helloworld.HelloWorldResource
* @return an instance of java.lang.String
*/
@POST
@Produces("application/xml")
@Consumes(MediaType.APPLICATION_XML)
public Response postMsg(@PathParam("cui") String cui, @PathParam("mesaj") String mesaj) {
String xmlString = "CUI=" + cui + " Mesaj=" + mesaj;
Response response = Response.status(200).type(MediaType.TEXT_XML).entity(xmlString).build();
return response;
}
}
What should I modify so I can see the parameter values that I send in the post in the xml that postman is generating?
Advertisement
Answer
@PathParam("cui") String cui
this line shows that values from client side should be passed as path parameters, not query string, something like this:
correct:
/cererepost/some_value
If you want to get them as query string params in server side, change @PathParam("cui")
to @QueryParam("cui")
.
For understading the differences between query string
and path variables
take alook at this post.