我只是想创建一个简单的测试Web服务。我想通过以下网址访问XML格式的用户:http://localhost:8080/Online_Shopping/dispatcher/rest/hello,但是当我转到该URL时,不会显示任何内容。
以下是我的服务代码:
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);
}
}
以下代码位于我的spring-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 :(得分:0)
您的应用程序正在端口8080上运行,因此要访问此URL,您需要在您的servlet调度程序中添加&#34; Online_Shopping&#34;
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>Online_Shopping/dispatcher/*</url-pattern>
</servlet-mapping>
或只是在没有Online_Shoppping的情况下访问您的API
答案 1 :(得分: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);
}
}