8字符串

wwtsj6pe  于 2021-07-15  发布在  Java
关注(0)|答案(1)|浏览(347)

我想知道如何测试post方法,所以我正在阅读这篇文章,测试如下:

@Test
public void createEmployeeAPI() throws Exception 
{
  mvc.perform( MockMvcRequestBuilders
      .post("/employees")
      .content(asJsonString(new EmployeeVO(null, "firstName4", "lastName4", "email4@mail.com")))
      .contentType(MediaType.APPLICATION_JSON)
      .accept(MediaType.APPLICATION_JSON))
      .andExpect(status().isCreated())
      .andExpect(MockMvcResultMatchers.jsonPath("$.employeeId").exists());
}

public static String asJsonString(final Object obj) {
    try {
        return new ObjectMapper().writeValueAsString(obj);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

我不明白这一行代码的用途和具体用途:
.content(asJsonString(new EmployeeVO(null, "firstName4", "lastName4", "email4@mail.com"))) content(String content) 根据文件:
“将请求正文设置为utf-8字符串。如果提供了内容,并且contenttype(mediatype)设置为application/x-www-form-urlencoded,则将解析内容并用于填充请求参数Map。”

smdncfj3

smdncfj31#

我不明白这行代码的用途和具体用途:.content(asjsonstring(new employeevo(null,“firstname4”,“lastname4”,”email4@mail.com")))
假设您的restapi需要一个带有json主体的post请求。
方法 content 需要字符串和 asJsonString 使用jackson库中的helper objectmapper从employeevo对象返回json字符串。

相关问题