springmvc定义的Controller接口和webservice暴露接口有什么区别?
问题描述
springmvc定义的Controller接口和webservice暴露接口有什么区别?
问题出现的环境背景及自己尝试过哪些方法
一直说如果我需要另外一个系统的数据,另外一个系统直接用webservice暴露接口去调用就行了。
但是如果我用springmvc创建一个接口也可以暴露出来。
这两者有什么区别呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
WebService 是有严格定义的,它的请求和响应都基于 XML,并在此基础上提出了一个叫 SOAP 的协议层。
正因为它有着这样的协议,所以它可以在不同语言中都能基于 SOAP 来“一键”生成相应的代理层,可以你在调用一个 WebService 的时候屏蔽掉很多底层细节,甚至可以做到完全强类型约束,近乎 RPC。但 XML 对前端并不友好,只适合服务间通讯。
而 MVC 的 Controller 是一个非常通用的,它只定义了如何接收请求、做出响应。如果你闲的蛋疼,甚至完全可以用它来实现一个 WebService。
现在比较流行的接口是 RESTful 或 GraphQL 风格的;SOAP 还是太重了。