RestTemplate测试带有REST控制器的特定参数

时间:2019-04-05 05:28:42

标签: java spring-boot integration-testing resttemplate

我正在使用RestTemplate为控制器编写集成测试,到目前为止,我已经能够调用最多的代码,但是还不能解决这种特定的参数组合。

我知道如何处理标头,GET或PUT参数,但是多个String是唯一一个尚未确定的参数。如果@Annotations有所作为,Dunno。

@RequestMapping(value="/getBook", method = GET)   
@ResponseStatus(OK)   
public @ResponseBody  
GetBookResponse getBook(@RequestParam("isbnID") String isbnID, @RequestParam(required=false) Double price, @RequestHeader(required=false) String publisher)                                                             
     {
.....
}

以及在POST情况下如何工作

通常我使用ResponseEntity来获取响应,但是在准备过程中被困住了。

1 个答案:

答案 0 :(得分:0)

通常,我们创建一个新的HttpRequest并向其中添加请求参数,然后在您的帖子中提交您的HttpRequest及其所有对应的参数。我不知道如何用您正在使用的框架来实现它。我已经为控制器编写了测试,这就是我的方法。 GET请求通常在网址中只有一个参数,因此您实际上不必添加请求参数,但POST应该将请求参数设置为httpRequest。