2017-02-19 23 views
-1

Я просто пытаюсь создать простой тестовый веб-сервис. Я хочу получить доступ к Пользовательу в формате XML по следующему URL-адресу: http://localhost:8080/Online_Shopping/dispatcher/rest/hello, но когда я перехожу к URL-адресу, ничего не отображается.REST Web Service не работает

Вот мой код для службы:

package com.shopping.controller; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 
import com.shopping.model.User; 
@Path("/rest") 
public class RESTController { 

    @GET 
    @Path("/hello") 
    @Produces(MediaType.APPLICATION_XML) 
    public User getUser() { 
     return new User("paymon","123",true); 
    } 

} 

Следующий код в моей весна-config.xml

<context:component-scan base-package="com.shopping.controller" /> 

Это в моей web.xml

<servlet> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring-config.xml</param-value> 
    </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>/dispatcher/*</url-pattern> 
    </servlet-mapping> 
+0

где делает "Online_Shopping/грузоотправитель" приходят из вашей URL? – ali

+0

диспетчер сервлетов –

+0

Почему вы используете аннотации JAX RS? –

ответ

0

Приложение работает на порту 8080, поэтому для доступа к этому URL-адресу необходимо добавить в диспетчер сервлетов «Online_Shopping»

<servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>Online_Shopping/dispatcher/*</url-pattern> 
    </servlet-mapping> 

или просто получить доступ к API без Online_Shoppping

0

Вы должны использовать аннотации Spring MVC вместо и использовать @Controller или @RestController аннотировать вы контроллер должен быть зарегистрирован в качестве пружинного контроллера.

Попробуйте это:

@RestController 
@RequestMapping(value = "/rest") 
public class RESTController { 

    @RequestMapping(value = "/hello", 
    method = RequestMethod.GET, 
    produces = "application/xml") 
    public User getUser() { 
     return new User("paymon","123",true); 
    } 

}