javalin / website

Javalin website source code
https://javalin.io
36 stars 87 forks source link

Enhance Documentation for the section Other web servers #263

Open marcelbaumann opened 7 months ago

marcelbaumann commented 7 months ago

I am trying to migrate my Vaadin/javalin application to version 6.1.0.

I am using vaadin-boot library for Vaadin which already provides an embedded Jetty server. I am looking how to set up a Javalin servlet to service the REST requests and dispatch them through Javalin.

Could you provide a minimal example under https://javalin.io/documentation#other-web-servers how to set up Javalin as a servlet. Or just provide pointers so that I can write an example.

The changes in version 6.x seems to change the approach how to do it. In the older versions we could do:

@WebServlet(name = "MyJavalinServlet", urlPatterns = {"/rest/*"})
public class MyJavalinServlet extends HttpServlet {
    private final JavalinServlet javalin = Javalin.createStandalone()
            .get("/rest", ctx -> ctx.result("Hello!"))
            .javalinServlet();

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        javalin.service(req, resp);
    }
}

How should we do it with the version 6.x.

Thanks in advance.

tipsy commented 7 months ago

Can you try

@WebServlet(name = "MyJavalinServlet", urlPatterns = {"/rest/*"})
public class MyJavalinServlet extends HttpServlet {
    private final JavalinServlet javalin = Javalin.create()
            .get("/rest", ctx -> ctx.result("Hello!"))
            .javalinServlet();

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        javalin.service(req, resp);
    }
}

?