REST Web服务无法正常工作

时间:2017-02-19 18:38:21

标签: spring web-services rest

我只是想创建一个简单的测试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>

2 个答案:

答案 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);
    }

}