Implementando um Método de Recurso Usando IBM JSON4J
Os serviços RESTful podem consumir e produzir um conteúdo usando o formato JavaScript Object Notation (JSON).
Sobre Esta Tarefa
Tipos IBM JSON4J são tipos de entidade suportados. A biblioteca JSON4J está incluído no ambiente de tempo de execução desse produto. Não é necessário inserir quaisquer bibliotecas adicionais em pacotes configuráveis.
Procedimento
Inclua uma classe com.ibm.json.java.JSONObject ou uma classe com.ibm.json.java.JSONArray como um parâmetro para o seu método de recurso ou como o seu tipo de retorno para ler ou gravar conteúdo JSON.
É possível usar tipos JSON4J como parâmetros de entidade de pedido ou é possível retornar tipos JSON4J para produzir mensagens JSON; por exemplo:
@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;
}
O conteúdo JSON, como o seguinte fragmento de código, { "name" : "Bob Smith" }, é enviado no pedido e armazenado no JSONObject person.
O conteúdo JSON, como o seguinte fragmento de código, { "greeting" : "Hello Bob Smith" }, é retornado na resposta.
Resultados
Você implementou os tipos JSON4J para processar os pedidos JSON e os tipos de mensagens.
Exemplo
O seguinte exemplo mostra uma classe JSONArray que é usada para retornar
uma lista de pessoas e um método que é usado para processar uma saudação para
uma pessoa.
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;
}
}