public class JettyServer {
private Server jettyServer;
private final int PUERTO_HTTP = 9000;
public JettyServer(){
jettyServer = new Server();
}
public void iniciar() {
String crossHeaders = "origin, content-type, cache-control, accept, "
+ "options, authorization, x-requested-with";
ServletContextHandler contextHandler =
new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
contextHandler.setContextPath("/");
//Configuramos el Cors
FilterHolder filterHolder = new FilterHolder(CrossOriginFilter.class);
filterHolder.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*");
filterHolder.setInitParameter(
CrossOriginFilter.ACCESS_CONTROL_ALLOW_ORIGIN_HEADER,"*");
filterHolder.setInitParameter(
CrossOriginFilter.ALLOWED_HEADERS_PARAM, crossHeaders);
filterHolder.setInitParameter(
CrossOriginFilter.ALLOWED_METHODS_PARAM, "GET,PUT,POST,DELETE");
filterHolder.setInitParameter(
CrossOriginFilter.ALLOW_CREDENTIALS_PARAM, "true");
contextHandler.addFilter(filterHolder, "/*", null);
//Iniciamos el servlet
ServletHolder jerseyServlet =
contextHandler.addServlet(ServletContainer.class, "/*");
jerseyServlet.setInitOrder(0);
jerseyServlet.setInitParameter(
ServerProperties.PROVIDER_PACKAGES,"bo.issuer.api");
jerseyServlet.setInitParameter(
ServerProperties.PROVIDER_CLASSNAMES,
"com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider");
contextHandler.addServlet(jerseyServlet, null);
jettyServer = new Server(PUERTO_HTTP);
jettyServer.setHandler(contextHandler);
try {
System.out.println("-----------------------------");
System.out.println("Iniciando Servicio HTTP");
System.out.println("-----------------------------");
jettyServer.start();
jettyServer.join();
} catch(Exception ex) {
Logger.getLogger(JettyServer.class.getName()).log(Level.SEVERE, null, ex);
}
}
public class AlumnosRest {
@GET
@Path("/alumnos")
@Produces(MediaType.APPLICATION_JSON)
public Response listaAlumnos() {
List<DatosAlumnoPo> listaAlumnos = new ArrayList<>();
DatosAlumnoPo datosAlumno = new DatosAlumnoPo();
datosAlumno.setDocId("144332");
datosAlumno.setNombreAl("Juan");
datosAlumno.setApelPatAl("Perez");
datosAlumno.setApelMatAl("Perez");
datosAlumno.setCodigoId(1);
listaAlumnos.add(datosAlumno);
datosAlumno = new DatosAlumnoPo();
datosAlumno.setDocId("11122332");
datosAlumno.setNombreAl("Pedro");
datosAlumno.setApelPatAl("Rivera");
datosAlumno.setApelMatAl("Perez");
datosAlumno.setCodigoId(2);
listaAlumnos.add(datosAlumno);
return Response.ok(listaAlumnos).build();
}
}
Para mas explicacion consulta este link: https://iotiatc.blogspot.com/2021/04/iniciar-un-servicio-rest-localmente-con.html
Y el codigo completo, como el jar compilado para probar directamente en este link: https://www.issuerproducts.com/#/resources/free/2/11