微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

RESTful Web服务,Spring-WS有效负载或Spring 3 MVC REST控制器的哪种方式?

我是 Spring Webservices的初学者.我试图使用spring-ws 2.0创建契约优先的Web服务.我已经完成了web.xml(MessagedispatcherServlet)配置,我的契约设计(XSD),生成了JAXB类和服务实现.我在端点感到困惑.以下哪一个,mvc rest控制器或enpoints,在哪种情况下使用是正确的,为什么?提前致谢.

@Endpoint
public class PersonEndpoint {

    @Autowired
    private PersonServiceImpl personService;

    @PayloadRoot(localPart = "PersonRequest",namespace = Constants.PERSON_NAMESPACE)
    public @ResponsePayload
    PersonResponseType personReadMethod(@RequestPayload PersonReadRequestType requestElement) {
        return personService.isBiometricNeeded(requestElement);
    }
}

要么

@Controller
public class PersonController {

    @Autowired
    private PersonServiceImpl personService;

    @RequestMapping(value = "/person",method = RequestMethod.GET)
    public @ResponseBody
    PersonResponseType personReadMethod(@RequestBody PersonReadRequestType requestElement) {
        return personService.isBiometricNeeded(requestElement);
    }
}

解决方法

前者用于Soap呼叫,后者用于休息(我假设你还包括Jackson)

您在前者中所做的是声明一个端点,该端点将在具有相应命名空间和localPart的传入soap调用调用.在你的情况下PersonRequest.

我建议看一下参考指南的第3章,它解释了一个简单的例子:http://static.springsource.org/spring-ws/sites/2.0/reference/html/tutorial.html

后者仅用于对url的rest调用,并将传入的参数转换为PersonReadRequestType实例.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐