2017-02-19 133 views
-1

我只是想创建一个简单的测试Web服务。我想通过以下URL访问XML格式的用户:http://localhost:8080/Online_Shopping/dispatcher/rest/hello,但是当我转到URL时,什么都不显示。REST Web服务不能正常工作

这里是我的服务代码:

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 /调度” 来自于你的网址是什么? – ali

+0

调度程序servlet –

+0

为什么使用JAX RS注释? –

回答

0

您的应用程序在端口8080上运行,因此要访问此URL,您需要在您的servlet调度程序中添加“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); 
    } 

}