我想为我的控制器编写一个测试。
而且我需要将参数传递给get()。
我该怎么做?

控制器:

@GetMapping("/getClientById")
    public ModelAndView getClientById(Integer id){
        return new ModelAndView("getClientById", "client", clientService.getClientById(id));
    }


测试方法:

given().header("Content-Type", "application/x-www-form-urlencoded")
                .when()
                .get("getClientById/")//How can I put here an ID ?
                .then()
                .statusCode(200);

最佳答案

您必须在映射中包含参数

@GetMapping("/getClientById/:clientId")
    public ModelAndView getClientById(@PathParam("clientId") Integer id){


要么

@GetMapping("/getClientById")
    public ModelAndView getClientById(@QueryParam("id") Integer id){


然后分别

.get("getClientById/youridvalue")//How can I put here an ID ?




.get("getClientById?id=youridvalue")//How can I put here an ID ?


至于第二种选择,我认为有一种包含查询参数的方法,但是我不知道您使用的是什么API,因此无法详细说明(可能还没有)

10-01 02:33