2017-02-19 182 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); 
    } 

}