package api; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import controlador.GeoConexion; import modelo.PuntoGeografico; /** * Servlet implementation class GeoApi */ @WebServlet({ "/GeoApi", "/punto/*", "/guardar", "/buscar_puntos" }) public class GeoApi extends HttpServlet { private static final long serialVersionUID = 1L; //El valor del api key private String apiKey = "pqntslc"; /** * @see HttpServlet#HttpServlet() */ public GeoApi() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Para la validacion del api key if(!request.getHeader("apiKey").equals(this.apiKey)) response.sendError(401, "El api key es incorrecto"); String url = request.getRequestURI(); String[] partes = url.split("/"); //Si entra por la URL /buscar_puntos if(partes[2].equals("buscar_puntos")){ double latitud = Double.parseDouble(request.getParameter("lat")); double longitud = Double.parseDouble(request.getParameter("lon")); GeoConexion geo = new GeoConexion(); PuntoGeografico[] puntos= geo.buscarPuntosCercanos(latitud, longitud); if(puntos!=null) { PrintWriter respuesta = response.getWriter(); /** * [{"latitud":12,"longitud":12,"nombre":"rami","distancia":151},{"latitud":12,"longitud":12,"nombre":"rami","distancia":151}] */ //el String jsonReturn contendrá el json que se va a retornar. //este se va armando con los datos del array que se obtuvo de //GeoConexion String jsonReturn = ""; jsonReturn += "["; for(int i=0; i