目录
Spring Web 应用
- 创建和声明Service Bean
- 创建和声明Controller Bean
- 处理各种各样的HTTP请求
从零开始一个Spring应用
Spring官方文档
- pom.xml
- src/main/java/hello/Application.java
- src/main/java/hello/HelloController.java
Web应用的本质
处理HTTP请求
- 从HTTP请求中提取query string (查询字符串)
- 从HTTP请求中接收body/payload(负载)中的参数
返回HTTP响应
- status code
- HTTP response header
- HTTP response body
- JSON
- HTML
- ...
HTTP GET
-
Query string
- ?param1=value1¶m2=value2
-
通常用来传递非敏感信息
-
使用@RequestParam进行接收
RESTful API
- 使用HTTP动词来代表动作
- GET:获取资源
- POST:新建资源
- PUT:更新资源
- DELTE:删除资源
- 使用URL(名词)来代表资源
- 资源里面没有动词
- 使用复数来代表资源列表
@RestController
-
使用RESTfuI风格的参数
- 使用@PathVariabIe进行参数提取
Postman发送参数
获取链接中的参数
@PostMapping
- 处理POST请求
- 从HTTP POST请求中提取body
- IDEA插件 Gsonformat
- 根据json自动生成JavaBean
- 快捷键 Alt + s
POST请求发送Body
Headers
- KEY Content-Type
- VALUE application/json
获取Body成一个对象
场景 | Content-Type | 使用注解 | 适用于 |
---|---|---|---|
提取整个body中 的对象 | application/json | @RequestBody | JSON |
提取body中\ 的参数 |
application/x-www-form-urlencoded | @RequestParam | 表单 |
生成http响应
- 直接操作 HttpServletResponse 对象
- 原始、简单、粗暴
- 直接返回HTML字符串
- 原始、简单、粗暴
- 返回对象,并自动格式化成JSON
- 常用
- @ResponseBody
- 模板引擎渲染
- JSP/Velocity/Freemaker
周边生态系统
- HTTPS
- 分布式部署
- 扩展功能
- 数据库
- Redis缓存
- 消息队列
- RPC(Dubbo/Spring Cloud)
- 微服务化
「资料来源:饥人谷」