我最近经历过休息网络服务(主要是春季)。但我没有发现基于休息的Web服务和Web应用程序之间的差异。
在基于休息的网络服务中,我们有@RestController
,在网络应用程序中,我们有@Controller
。我所知道的开发视角的一个不同之处在于我们拥有更多
像PUT,DELETE等动词但在网络应用程序中我们主要使用POST / GET。那是来自接收方。甚至发件人也只会发送http请求,就像在Web应用程序中发送一样
两者都使用方法映射传入的URL,提及返回格式等。
是的,身份验证会有不同之处,因为在Web应用程序中,它将是基于表单的身份验证,但Web服务将与基于标头或其他内容不同。
那么协议/发送者/接收者或任何观点是否有任何重大差异?
答案 0 :(得分:0)
来自spring-frameworkrestcontroller-vs-controller
传统的Spring MVC控制器和RESTful Web服务控制器之间的关键区别在于创建HTTP响应主体的方式。传统的MVC控制器依赖于View技术,而RESTful Web服务控制器只返回对象,对象数据直接写入HTTP响应,如JSON / XML
其余的东西或多或少相同
答案 1 :(得分:0)
Web服务通常是从应用程序到应用程序或从机器到机器交换数据,原始数据通常不是人类或浏览器友好的(以json或xml或其他商定的格式编码)。编码数据可以稍后被转换或包装成漂亮的网页作为输出,以查看对象数据以便浏览器对人类友好以供查看。