rest-assured的post请求中body传参的问题求助

问题描述:

  • 环境:Java+rest-assured
  • 问题复述:使用rest-assured进行post请求时,添加body()参数时,传入map(map对象为finalMap)格式与jsonObject格式参数失败,传入json字符串格式接口调用成功(字符串为strJson),接口只能本地调用,未附接口地址

请帮忙确定body()参数传入的map或jsonObject格式

相关log截图

相关代码(包括log文件,都要使用markdown代码格式,)

String strJson = "{\n" +
                "\t\"parentId\": \"0\",\n" +
                "\t\"parentType\": \"ROOT\",\n" +
                "\t\"memberName\": \"新增产品序列postman3\",\n" +
                "\t\"memberOrder\": 23\n" +
                "}";
        System.out.println("json打印"+strJson);
        Map finalMap = new HashMap();
        finalMap.put("parentId","0");
        finalMap.put("parentType","Root");
        finalMap.put("memberName","新增产品序列接口新增3");
        finalMap.put("memberOrder",30);
        System.out.println("body传入map"+finalMap);
        Response response = given()
                .proxy("http://127.0.0.1:8888/")
                .baseUri(interfaceDataBean.getUrl())
                .headers(interfaceDataBean.getHeaders())
                .contentType(ContentType.JSON)
                .body(finalMap).log().all()
                .when()
                .post()
                .then().extract().response();
        System.out.println(Optional.ofNullable(response.getBody().path("message")));

报错信息:

*后端直接返回错误提示

原因以及解决方式):

原因:body传入的参数只有String字符串格式成功,而传入jsonObject或map格式的参数失败

解决办法:未找到

失败的报错是啥?

问题确认,接口传入map格式没问题,是因为后端要求传入的parentType参数要求为全大写导致。谢谢思寒老师