API REST
Configurar [Link] (o anotaciones)
<url-pattern> /P2M </url-pattern> à HTML
<url-pattern> /P2M/v1/* </url-pattern> à JSON
Pero ambos conducen al único servlet
¿Cuál fue la URL solicitada?
/P2M
/P2M/v1/langs
/P2M/v1/cast?lang=es
/P2M/v1/cast/idC
[Link]()
[Link]()
Generar JSON
• Usaremos la librería JSON-Java
import [Link].*;
• Copiar su .jar a WEB-INF/lib (buscarlo en Internet)
• Permite usar los objetos:
JSONObject jo = new JSONObject();
JSONArray ja = new JSONArray();
JSONObject
• Creación directa
JSONObject jo = new JSONObject();
[Link]("nombre","España");
[Link]("lang","es");
• Creación desde un HashMap
Map<String, String> map = new LinkedHashMap<>();
[Link](”nombre", “España”);
[Link](”lang", “es”);
jo = new JSONObject(map);
• Creación desde una cadena
JSONObject jo = new JSONObject( ”
{ \”nombre\":\”España\",\”lang\":\”es\” }" );
JSONArray
• Creación directa
JSONArray ja = new JSONArray();
JSONObject jo = new JSONObject();
[Link]("nombre","España");
[Link]("identificador","SPa1");
[Link](jo);
// más objetos
• Creación desde una cadena
JSONArray ja = new JSONArray(
"[true, \”Pepe\", 215]");
Enviar la respuesta
• Éxito
[Link]("application/json");
[Link]("UTF-8");
out = [Link]();
[Link]([Link]());
[Link](ja); // [Link]
• Error Para mostrarlo en [Link]
[Link](404, reason);