#java #web-services #rest #jax-rs #jersey-2.0
#java #веб-сервисы #rest #jax-rs #джерси-2.0
Вопрос:
Я новичок в веб-службе jax rs. Я учился по этой ссылке — http://www.vogella.com/tutorials/REST/article.html
Теперь, когда я пытался выполнить свою первую службу rest, я столкнулся с некоторыми ошибками. Это мой служебный код
package de.vogella.jersey.first;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class Hello {
// This method is called if TEXT_PLAIN is request
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello Jersey";
}
}
Мой web.xml есть
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web- app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>de.vogella.jersey.first</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>de.vogella.jersey.first</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Теперь, когда я запускал этот код, я столкнулся с ошибкой HTTP Status 404. Пожалуйста, кто-нибудь мне поможет. Я передаю все банки из http://jersey.java.net / Пожалуйста, помогите мне.
Комментарии:
1. Вы проверяли журналы… если приложение успешно развернуто…. Правильный ли путь к контексту приложения?
2. 404 — ресурс не найден. Вы дважды проверяли конечную точку, операции, которые вы выполняете в веб-службе?
3. если все правильно… путь должен выглядеть как 127.0.0.1:<порт>/<контекстный путь>/rest/hello
Ответ №1:
Если вы используете jersey 2.x, вы Web.xml сервлет должен быть следующим
<servlet>
<servlet-name>Jersey Rest Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>de.vogella.jersey.first</param-value>
</init-param>
</servlet>
В jersey 2.x вам нужно указать «org.glassfish», и ваш URL-адрес ресурса будет
localhost:your_port / your_app_name /rest /hello