Spring Boot Web API测试

第一步,在测试类外面加上如下注解:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

如果不是web,可以删掉webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT

第二步,web api如下:

	@RequestMapping(value="/get1",method=RequestMethod.GET)
	public UserInfo get1(@RequestParam String name,@RequestParam String age){
		return userService.queryUserInfo(name, age);
	}

测试controller中的web api有两种方式,一种是直接注入该controller,然后像普通方法一样调用,另一种是通过TestRestTemplate,与RestTemplate用法一样,如果需要实现负载均衡,可以在配置类中重新配置该bean的实例化,如:

	@Bean
	@LoadBalanced
	RestTemplate restTemplate() {
		return new RestTemplate();
	}

这里不需要负载均衡,所以无需上面的代码,测试代码如下:

    @Autowired
    private TestRestTemplate restTemplate;
    @Autowired
    private UserController userController;
    @Test
    public void userTest() {
    	//方式一
    	UserInfo userInfo = restTemplate.getForObject("/get1?name={1}&age={2}", UserInfo.class, "李四", "24");
        System.out.println(userInfo.toString());
        //方式二
        UserInfo user = userController.get1("对对对","12");
        System.out.println(user.toString());

    }

post请求也一样,通过TestRestTemplate的postForObject方法

注意要加上如下依赖:

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值