惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
L
LangChain Blog
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
D
Docker
B
Blog
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
G
Google Developers Blog
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42

祈雨的笔记

安全多方计算MPC spark原理解析 kueue执行源码分析 spark on k8s执行源码分析 spark-operator源码解析 系统压测遇到的缓存击穿问题 我的世界PC与安卓联机 蚂蚁金服流量投放平台的AIG改造 G1大对象致Old区占用率高 日志打印导致接口响应率下跌分析 Groovy加载类导致OOM分析 ERROR日志打印导致CPU满载 记OceanBase死锁超时 应用发版期间服务响应超时 Ark Serverless初探 系统优化复盘一二三 The user specified as a definer does not exist Kong网关初探 API网关选型调研 CPU火焰图常用工具 配置中心选型调研 root操作Nginx导致用户组错误 基于Proxifier使用代理 FastJSON字段智能匹配踩坑 Nacos初探 记一次Nginx服务器CPU满荷载故障 基于券系统分库分表的思考 limit不参与SQL成本计算致索引失效 Linux常用性能监控命令 golang低版本http2偶现400
springboot(8)RESTful
祈雨的笔记 · 2018-01-22 · via 祈雨的笔记

1、申明RESTful控制器

springboot已经集成了序列化反序列化,并默认使用utf-8编码格式,不会出现中文乱码问题。

1
2
3
4
5
6
@RestController为注解@ResponseBody@Controller的组合

@RestController
public class TestRestAction {

}

2、组合注解

@PostMapping为组合注解@RequestMapping(method=RequestMethod.POST)

@GetMapping为组合注解@RequestMapping(method=RequestMethod.GET)

3、从请求参数中自动获取值

1
2
3
4
5
6
7
8
9
10
11
12
@PostMapping("login")
public String login(@RequestParam(name="username",required=false)String username,
@RequestParam(name="password",required=false)String password) {

if(username == null || password == null) {
return "Error";
}
if(username.equals(password)) {
return "hello world";
}
return "Error";
}

4、从URL地址中获取值

1
2
3
4
@GetMapping("update/{id}")
public String update(@PathVariable(name="id")Integer id) {
return "hello :" +id;
}

5、自动序列化反序列化

1
2
3
4
5
6
7
8
9
@PostMapping("postUser")
public User postUser(User user) {
System.out.println(user);
User u = new User();
u.setId(1);
u.setUsername("wxtx");
u.setPasswd("123456");
return u;
}

对象结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class User {
private Integer id;
private String username;
private String passwd;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", passwd=" + passwd + "]";
}

}

springboot会将请求参数自动组装成对象。请求参数如图:

这里写图片描述

返回值:

1
2
3
4
5
{
"id": 1,
"username": "wxtx",
"passwd": "123456"
}