package org.jboss.resteasy.test.providers.jsonp.resource;
import org.junit.Assert;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.json.JsonStructure;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/test/json")
public class JsonpResource {
@Path("array")
@POST
@Produces("application/json")
@Consumes("application/json")
public JsonArray array(JsonArray array) {
Assert.assertEquals("The request didn't contain 2 json elements", 2, array.size());
JsonObject obj = array.getJsonObject(0);
Assert.assertTrue("The field 'name' didn't propagated correctly from the request for object[0]",
obj.containsKey("name"));
Assert.assertEquals("The value of field 'name' didn't propagated correctly from the request for object[0]",
obj.getJsonString("name").getString(), "Bill");
obj = array.getJsonObject(1);
Assert.assertTrue("The field 'name' didn't propagated correctly from the request for object[1]",
obj.containsKey("name"));
Assert.assertEquals("The value of field 'name' didn't propagated correctly from the request for object[1]",
obj.getJsonString("name").getString(), "Monica");
return array;
}
@Path("object")
@POST
@Produces("application/json")
@Consumes("application/json")
public JsonObject object(JsonObject obj) {
Assert.assertTrue("The field 'name' didn't propagated correctly from the request", obj.containsKey("name"));
Assert.assertEquals("The value of field 'name' didn't propagated correctly from the request"
, obj.getJsonString("name").getString(), "Bill");
return obj;
}
@Path("structure")
@POST
@Produces("application/json")
@Consumes("application/json")
public JsonStructure object(JsonStructure struct) {
JsonObject obj = (JsonObject) struct;
Assert.assertTrue("The field 'name' didn't propagated correctly from the request", obj.containsKey("name"));
Assert.assertEquals("The value of field 'name' didn't propagated correctly from the request",
obj.getJsonString("name").getString(), "Bill");
return obj;
}
}