java - send JSON response with two method's return values -
i have method consume json string getting here 2 return values.the first insertdata method , integer 201 or 208 , second value getstoproute arraylist. how can return both value in jersey json in case?
@path("/data") public class receiver { @post @consumes(mediatype.application_json) public response storedata(data data) { string macd = data.getmac(); int routed = data.getroute(); double latd = data.getlatitude(); double longd = data.getlongitude(); database db = new database(); int status = db.insertdata(macd, routed, latd, longd); // return 201 or 208 arraylist<integer> route_number = db.getstoproute(latd, longd); //return [1,9,3] return response.status(status).build(); } } json dependency:
<dependency> <groupid>org.glassfish.jersey.media</groupid> <artifactid>jersey-media-json-jackson</artifactid> <version>2.16</version> </dependency>
please consider doing :
1. code
@post @consumes(mediatype.application_json) public response storedata(data data) { string macd = data.getmac(); int routed = data.getroute(); double latd = data.getlatitude(); double longd = data.getlongitude(); database db = new database(); //inserted jean sdbean bean= new sdbean(); bean.status = db.insertdata(macd, routed, latd, longd); bean.routes= db.getstoproute(latd, longd); //return [1,9,3] return response.status(bean.status).entity(bean.tojson()).build(); } //inserted jean public class sdbean{ public int status; //@expose public arraylist<integer> routes; public string tojson(){ //if use jackson objectmapper mapper = new objectmapper(); string json =null; try { json = mapper.writevalueasstring(this); } catch (jsonprocessingexception e) { e.printstacktrace(); } return json; } enjoy :)
Comments
Post a Comment