apache / apache/servicecomb-java-chassis

Spring MVC用户和Java Chassis的差异及开发指引

Open
#2,766 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1.9k
Forks
814
Avg merge
8d 23h
Merged PRs (30d)
1

Description

Java Chassis可以使用Spring MVC的方式定义REST接口。Java Chassis仅仅使用了Spring MVC的部分annotation,以保持用户的开发习惯和降低代码迁移过程中改动工作量。Java Chassis的REST实现,是完全不同于Spring MVC的,它不依赖于Spring MVC的实现,很多Spring MVC提供的功能也不支持。

Spring MVC的主要工作场景是使用Servlet,即 `org.springframework.web.servlet.DispatcherServlet` 。 而Java Chassis的实现并不依赖于HTTP协议,它可以工作于传统的Servlet模式下,也可以工作在非Servlet模式下。在处理HTTP请求的时候,也容易给开发者带来一些理解上的困难。

Spring MVC一般都会搭配Spring、Spring Boot使用。 Java Chassis并不完全依赖于Spring、Spring Boot,但是大部分用户仍然会在Spring Boot场景下使用Java Chassis,从业务使用的角度,这些是完全可以的,但是和REST框架存在交互的部分,比如类似Spring Security等组件,仍然会存在一些差异。

这个案例帮助 Spring MVC的开发者更好的理解Java Chassis的RPC框架,避免一些常见的错误。

参考材料:

1. [用 Spring MVC 开发微服务](https://servicecomb.apache.org/references/java-chassis/zh_CN/build-provider/springmvc.html)
2. [接口定义和数据类型](https://servicecomb.apache.org/references/java-chassis/zh_CN/build-provider/interface-constraints.html)
3. [使用 Context 参数](https://servicecomb.apache.org/references/java-chassis/zh_CN/build-provider/context-param.html)
4. [在Spring Boot中使用java chassis](https://servicecomb.apache.org/references/java-chassis/zh_CN/using-java-chassis-in-spring-boot/using-java-chassis-in-spring-boot.html)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.