SpringBoot中测试请求的整理

 背景:后端工程师想要进行HTML测试 如果没有前端网页可以利用接口进行测试 常用的接口测试工具包括Apifox(免费),postman(免费版能用功能很少)

首先在IDEA创建出一个Springboot工程,在main文件夹中创建一个requestControl类用来管理测试请求参数接收,该类需要用@RestController来注释

@RestController
public class requestController{
/*
正文部分
*/
}

请求参数有很多类型 包括但不限于普通字符串类型,数组类型,列表类型,日期类型,路径类型

本文一一列举供初学者学习以及参考

所有request发送之前 所声明的类都需要用@RequestMapping("/path")来指明寻找的路径

普通数据类型

<java代码>

	@RequestMapping("/simpleParam")
	public String  simpleParam(String name,Integer age){
		System.out.println(name+":"+age);
		return "success";
	}

其中定义了一个GET请求 地址为请求的地址 并把这个请求命名为快速入门

传递两个参数  name和age与Java类中的形参相同 java中System.out.println的值是成功给服务器发送之后服务器的工作台输出的语句 return的值是返回给APIfox的值 指示返回完成

数组类型

	@RequestMapping("/arrayParam")
	public String arrayParam(String[] hobby) {
		System.out.println(Arrays.toString(hobby));
		return "ok";
	}

使用数组的toString方法打印出

简单实体类型

requestController中的方法

	@RequestMapping("/simplePojo")
	public String simplePojo(User user){
		System.out.println(user);
		return "OK" ;
	}

User类

package com.example.pojo;

public class User {
	private String name;
	private Integer age;
	private Address	address ;

	@Override
	public String  toString() {
		return "User{" +
				"name='" + name + '\'' +
				", age=" + age +
				", address=" + address +
				'}';
	}

	public Address getAddress() {
		return address;
	}

	public void setAddress(Address address) {
		this.address = address;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public Integer getAge() {
		return age;
	}
}

User类中有name和age 和Address与APIfox中的参数相同

对user类进行封装

APIfox代码

列表类型

java代码

@RequestMapping("/listParam")
	public String listParam(@RequestParam List<String> hobby) {
		System.out.println(hobby);
		return "ok";
	}

List参数需要@RequestParam进行注释

当集合用于路径参数 不能注释为RequestParam

 

JSON类型

java代码

@RequestMapping("/jsonParam")
	public String jsonParam(@RequestBody User user) {
		System.out.println(user);
		return "ok";
	}

JSON格式传给后端需要使用对象类型来接数据

User类型需要@RequestBody进行注释

User类同上

APIfox需要发送post请求 在body发送json格式的数据

日期类型

java代码

@RequestMapping("/DateParam")
	public String DateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime UpdateTime) {
		System.out.println(UpdateTime);
		return "ok";
	}

LocalDateTime内置类需要@DateTimeFormat来注释 来表明时间日期格式其中pattern参数表明了日期数据格式

APIfox

path类型

java代码

@RequestMapping("/path/{id}")
	public String pathParm(@PathVariable Integer id){
		System.out.println(id);
		return "ok";
	}

注释中{}表明的是可变参数 目的是改变路径

方法体形参中与{}保持一致 且形参需要@PathVariable来注释

APIfox

 还希望各位大佬指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值