springbootq请求访问_Spring Boot快速入门(二):http请求

一、准备

postman:一个接口测试工具

创建一个新工程

7b33d55e9b23ded85d4ab266dd1d58d3.png

选择web

二、开始

新建java类RequestCtrl

1.添加一个all方法,使用@RequestMapping注解,可以处理所有的http请求

d98569b7a8709879a6637f9d7e3ad072.png

@RestController//这是一个控制器并只返回数据不寻找视图

public class RequestCtrl

{

@RequestMapping("/")//将本方法映射到/

public String all(String name, Integer age)//接受2个参数,name和age

{

return "这里是all\n" + "name: " + name + "\n" + "age: " + age;

}

}

requestMapping的作用可以简单理解为给方法加个地址,让别人能访问

f60b750313dfde34b7d7aef61c930a14.png

通过源码可以看出@RestController是@Controller和ResponseBody的结合注解

@Controller 表明这是一个控制器,将会返回数据或者页面

@ResponseBody 表明只会返回数据,Spring Boot默认将数据使用jaskson序列化为json返回

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,常见表现形式为键值对{key:value},例如{name:"lierabbit",age:20},字符串和数字直接返回

启动程序,打开postman

对http://localhost:8080发起get请求

70546dbae257bc2fb1d61715fcaf3887.png

发起带参数的请求

cbf5442e67f9e51b90e90b7316448c29.png

使用post请求

ffd2714e62c5d0719c74645c1972fa79.png

2.添加一个get方法,使用@GetMapping注解,只可以处理get类型的http请求

@GetMapping("/get")//将本方法映射到/get,且只能用get方式访问

public String get(String name, int age)//接受2个参数,name和age

{

return "这里是get\n" + "name: " + name + "\n" + "age: " + age;

}

重启程序

f82e427f59150652699d3d868db07fde.png

使用get方式访问http://localhost:8080/get?name=lierabbit&age=20

375c5813bb536b78a8a59989a07b9ce3.png

尝试使用post访问,将得到405异常

3.添加一个post方法,使用@PostMapping注解,只可以处理post类型的http请求

@PostMapping("/post")//将本方法映射到/post,且只能用post方式访问

public String post(String name, int age)//接受2个参数,name和age

{

return "这里是post\n" + "name: " + name + "\n" + "age: " + age;

}

重启程序

使用post方式访问

af4c8b10fe6db8c39042dcb9a600d83f.png

尝试使用get访问,得到405异常

d4da481772d49f3343969eca0e670f80.png

4.添加一个put方法,使用@PutMapping注解,只可以处理put类型的http请求

@PutMapping("/put")//将本方法映射到/put,且只能用put方式访问

public User put(@RequestBody User user)//接受一个user实体

{

user.setName("名字已经被修改:" + user.getName());

user.setAge(user.getAge() + 1);

return user;

}

@RequestBody 表示接受一个user实体(user json)

返回User,会被spring boot自动序列化为json

d07af8fccac716ab847e070490988d96.png

5.添加一个delete方法,使用@DeleteMapping注解,只可以处理delete类型的http请求

@DeleteMapping("/delete")//将本方法映射到/delete,且只能用delete方式访问

public User delete(@RequestBody User user)//接受一个user实体

{

user.setName("这个用户将会被删除:" + user.getName());

user.setAge(user.getAge() + 1);

return user;

}

9388c4e71f819f929202651e9a42e8be.png

6.添加一个patch方法,使用@PatchMapping注解,只可以处理patch类型的http请求

@PatchMapping("/patch")//将本方法映射到/patch,且只能用patch方式访问

public User pathch(@RequestBody User user)//接受一个user实体

{

user.setName("只改名称:" + user.getName());

return user;

}

87b9f4e6b41b58b1a538e0c1993ceca2.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值