Я новичок в программировании, я пытаюсь создать свой первый RESTfull API.Я создал сервер с Apache Tomcat / 8.5.37 и использовал веб-сервисы RESTfull.Моя проблема заключается в том, что содержимое класса (XML) не распечатывается на локальном хосте: 8080 с использованием пути http://localhost:8080/JavaAPI/rest/hello
Я создал сервер Tomcat и использовал JAX-RS 2.0 / Jersey 2.25.x и JAX-RS 2.1/ Джерси 2.26+ в случае проблем с версиями, ни одна из них не работает.Я просто не могу понять, в чем может быть проблема.
package test;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Application;
@Path("/hello")
public class Hello {
@GET
@Produces(MediaType.TEXT_XML)
public String sayHello(){
String resource ="<? xml version='1.0' ?>" +
"<hello>, Hi, its XML</hello>";
return resource;
}
}
Это конфигурация файла службы REST:
<display-name>JavaAPI</display-name>
<servlet>
<servlet-name>JAVA API</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>test</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JAVA API</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Это скриншот библиотеки текущего джерси:
lib libcont
Ожидаемый результат должен быть: Привет, его XML будет напечатан на http://localhost:8080/JavaAPI/rest/hello, и я получу следующее 404ошибка: Тип: Отчет о состоянии
Сообщение: не найдено
Описание: Исходный сервер не нашел текущее представление для целевого ресурса или не хочет раскрыть, что он существует.
Причина, по которой этот вопрос может не дублироваться: во-первых, я скопировал / вставил их код вместе с майками старой версии 1.x, и проблема все еще остается.По своему опыту я считаю, что существует проблема с управлением версиями, так как я использую Tomcat 8.5, и я также получаю следующий ответ от сервера:
Tomcaterr Tomcaterrcont
Руководство, которому я следовал: https://www.youtube.com/watch?v=5jQSat1cKMo&t=782s&list=LL2fRfBs2m2v1wyy_kKt8E9w&index=2