Implementación de un método de recursos utilizando IBM JSON4J

Los servicios RESTful pueden consumir y producir contenido utilizando el formato JavaScript Object Notation (JSON).

Acerca de esta tarea

Los tipos de IBM JSON4J son los tipos de entidad admitidos. La biblioteca JSON4J se incluye en el entorno de ejecución de este producto. No es necesario que empaquetar las bibliotecas adicionales.

Procedimiento

Añada una clase com.ibm.json.java.JSONObject o una clase com.ibm.json.java.JSONArray como parámetro en su método de recursos o como tipo de devolución para leer o grabar contenido JSON.
Puede utilizar tipos JSON4J como parámetros de entidad de solicitudes o puede devolver tipos JSON4J para generar mensajes JSON; por ejemplo:
@POST
public com.ibm.json.java.JSONObject createGreetingForPerson(com.ibm.json.java.JSONObject person) {
    String name = (String)person.get("name");
        com.ibm.json.java.JSONObject greetingInJSONObj = new JSONObject();    greetingInJSONObj.put("greeting", "Hello " + name);
    return greetingInJSONObj;
}

El contenido JSON, igual que el siguiente fragmento de código, { "name" : "Bob Smith" }, se envía en la solicitud y se almacena en persona JSONObject.

El contenido JSON, igual que el siguiente fragmento de código, { "greeting" : "Hello Bob Smith" }, se devuelve en la respuesta.

Resultados

Ha implementado tipos para JSON4J para procesar solicitudes JSON y tipos de mensajes.

Ejemplo

En el ejemplo siguiente se muestra una clase JSONArray que se utiliza para devolver una lista de personas y un método que se utiliza para procesar un saludo para una persona.
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;

import com.ibm.json.java.JSONArray;
import com.ibm.json.java.JSONObject;


@Path("/people")
public class JSON4JResource {

    @GET
    public JSONArray getPersonArray() {
        JSONArray personArray = new JSONArray();
        
        JSONObject firstPerson = new JSONObject();
        firstPerson.put("name", "John Doe");
        personArray.add(firstPerson);
        
        JSONObject secondPerson = new JSONObject();
        secondPerson.put("name", "Fred Thompson");
        personArray.add(secondPerson);
        
        return personArray;
    }
    
    @Path("/greet")
    @POST
    public JSONObject createGreetingForPerson(JSONObject person) {
        String name = (String)person.get("name");
        JSONObject greetingInJSONObj = new JSONObject();
        greetingInJSONObj.put("greeting", "Hello " + name);
        return greetingInJSONObj;
    }
}

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_jsoncontent_impl
File name: twbs_jaxrs_jsoncontent_impl.html