问题描述
springmvc定义的Controller接口和webservice暴露接口有什么区别?
问题出现的环境背景及自己尝试过哪些方法
一直说如果我需要另外一个系统的数据,另外一个系统直接用webservice暴露接口去调用就行了。
但是如果我用springmvc创建一个接口也可以暴露出来。
这两者有什么区别呢?
springmvc定义的Controller接口和webservice暴露接口有什么区别?
一直说如果我需要另外一个系统的数据,另外一个系统直接用webservice暴露接口去调用就行了。
但是如果我用springmvc创建一个接口也可以暴露出来。
这两者有什么区别呢?
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
WebService 是有严格定义的,它的请求和响应都基于 XML,并在此基础上提出了一个叫 SOAP 的协议层。
正因为它有着这样的协议,所以它可以在不同语言中都能基于 SOAP 来“一键”生成相应的代理层,可以你在调用一个 WebService 的时候屏蔽掉很多底层细节,甚至可以做到完全强类型约束,近乎 RPC。但 XML 对前端并不友好,只适合服务间通讯。
而 MVC 的 Controller 是一个非常通用的,它只定义了如何接收请求、做出响应。如果你闲的蛋疼,甚至完全可以用它来实现一个 WebService。
现在比较流行的接口是 RESTful 或 GraphQL 风格的;SOAP 还是太重了。