Конечные точки REST Джерси без @ApplicationPath - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь выставить некоторые конечные точки REST с Джерси.

Когда я go URL, по которому я ожидаю, что ресурс будет доступен, я получаю сообщение Tomcat: HTTP Status 404 - Not Found ... The origin server did not find a current representation for the target resource or is not willing to disclose that one exists." Я знаю, что Tomcat работает нормально, потому что я могу получить свой index.jsp и его работу с другими моими проектами.

Я знаю, что могу добавить класс, который расширяет ResourceConfig с @ApplicationPath и вуаля, ресурс недоступен.

Однако я думаю, что есть способ сделать все это, используя просто web.xml.

Я использую IntelliJ 2019.3, Tomcat 9 и Jersey 2.27.


Мой web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>

        <servlet-name>COMP4601-SDA</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>edu.carleton.comp4601.resources</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

        <servlet-name>COMP4601-SDA</servlet-name>
        <url-pattern>/rest/*</url-pattern>

    </servlet-mapping>
</web-app>


Мой ресурс

package edu.carleton.comp4601.resources;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Request;
import javax.ws.rs.core.UriInfo;

@Path("/sda")
public class SearchableDocumentArchive {

    @Context
    UriInfo uriInfo;

    @Context
    Request request;

    @GET
    public String getHome(){
        return "COMP4601 Searchable Document Archive: Zachary";
    }
}

...