springmvc定义的Controller接口和webservice暴露接口有什么区别?

问题描述

springmvc定义的Controller接口和webservice暴露接口有什么区别?

问题出现的环境背景及自己尝试过哪些方法

一直说如果我需要另外一个系统的数据,另外一个系统直接用webservice暴露接口去调用就行了。
但是如果我用springmvc创建一个接口也可以暴露出来。
这两者有什么区别呢?

阅读 3.8k
1 个回答

WebService 是有严格定义的,它的请求和响应都基于 XML,并在此基础上提出了一个叫 SOAP 的协议层。

正因为它有着这样的协议,所以它可以在不同语言中都能基于 SOAP 来“一键”生成相应的代理层,可以你在调用一个 WebService 的时候屏蔽掉很多底层细节,甚至可以做到完全强类型约束,近乎 RPC。但 XML 对前端并不友好,只适合服务间通讯。

而 MVC 的 Controller 是一个非常通用的,它只定义了如何接收请求、做出响应。如果你闲的蛋疼,甚至完全可以用它来实现一个 WebService。

现在比较流行的接口是 RESTful 或 GraphQL 风格的;SOAP 还是太重了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题