请求响应
postman
介绍:
发送请求:可以轻松地向各种类型的接口(如 HTTP、HTTPS)发送请求。无论是简单的 GET 请求获取数据,还是复杂的 POST 请求提交数据,Postman 都能应对自如。例如,当你开发一个 Web 应用,需要测试用户登录接口时,你可以在 Postman 中设置请求方法为 POST,填写正确的 URL 和请求体(包含用户名和密码等登录信息),然后发送请求,查看服务器返回的响应来判断接口是否正常工作。
创建方法:
最上面Workspaces/Create Workspace/Blank workspace/next/noly me/creat
使用方法:
复制网址上去就行
简单参数
@RestController//请求处理
public class HelloController {
@RequestMapping("/hello")//网址
public String hello(String name,Integer age)//自动类型转换
{
System.out.println(name+":"+age);
return "Hello World~";
}
}
localhost:8080/hello?name=Tom&age=10
实体参数:
在src.main.java下的软件包(放着若干自己创建软件包)下再创建一个软件包/创建一个java类(放实体类)
详情看day五第一个代码实例好了
数组集合参数:(多选,复选框会用到)
数组:请求参数名与形参中数组变量名相同,可以直接使用数组封装
@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby){
System.out.println(Arrays.toString(hobby)); //Arrays.toString() 是 Java 中 java.util.Arrays 类提供的一个静态方法,用于将数组转换为字符串表示形式 return "OK";
}
集合:请求参数名与形参中集合变量名相同,通过@RequestParam绑定参数关系
@RequestMapping("/listParam")
public String listParam(@RequestParam List
System.out.println(hobby);
return "OK";
}
日期参数:
@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){//@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")指定参数传递格式
System.out.println(updateTime);
return "OK";
}
JSON参数:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用 @RequestBody 标识
@RequestMapping("/jsonParam")
public String jsonParam(@RequestBody User user){
System.out.println(user);
return "OK";
}
public class User {
private String name;
private Integer age;
private Address address;
}
public class Address {
private String province;
private String city;
}
路径参数:通过请求URL直接传递参数,使用{…}来标识该路径参数,需要使用 @PathVariable 获取路径参数
@RequestMapping("/path/{id}")
public String pathParam(@PathVariable Integer id){
System.out.println(id);
return "OK";
}
@RequestMapping("/path/{id}/{name}")
public String pathParam2(@PathVariable Integer id, @PathVariable String name){
System.out.println(id+ " : " +name);
return "OK";
}
响应
@RestController = @Controller + @ResponseBody ;
@RequestMapping("/listAddr")
public List
List list = new ArrayList<>();
Address addr = new Address();
addr.setProvince("广东");
addr.setCity("深圳");
list.add(addr);
return list;
}
@RequestMapping("/listAddr")
public Result listAddr(){
List
Address addr = new Address();
addr.setProvince("广东");
addr.setCity("深圳");
list.add(addr);
return Result.success(list);
}
统一响应
为了简化响应,把多个类型的响应形式统一化
package com.itheima.pojo;
/**
-
统一响应结果封装类
*/
public class Result {
private Integer code ;//1 成功 , 0 失败
private String msg; //提示信息
private Object data; //数据 datapublic Result() {
}
public Result(Integer code, String msg, Object data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}public static Result success(Object data){
return new Result(1, "success", data);
}
public static Result success(){
return new Result(1, "success", null);
}
public static Result error(String msg){
return new Result(0, msg, null);
}@Override
public String toString() {
return "Result{" +
"code=" + code +
", msg='" + msg + ''' +
", data=" + data +
'}';
}
}