我已经创建了一个Spring Boot应用程序,这就是我的控制器的外观。我正在使用邮递员在请求正文中发送json,并在请求标头中发送一个字符串,然后进一步对json进行哈希处理,并将其与请求标头中获得的字符串进行比较。问题是我不知道为了使用MockMvc测试相应的Controller类而获取请求主体和请求标头。
控制器逻辑
@RestController
public class Comparison {
@PostMapping(path = "/test")
public boolean compareHash(@RequestBody String json,
@RequestHeader(value = "code") String oldHashValue) {
Hash hashObj = new Hash();
String newHashValue = hashObj.sha512(json);
return oldHashValue.equals(newHashValue);
}
}
Run Code Online (Sandbox Code Playgroud)
测试逻辑
public class ComparisionTest {
@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;
@Before
public void setup () {
DefaultMockMvcBuilder builder = MockMvcBuilders.webAppContextSetup(this.wac);
this.mockMvc = builder.build();
}
@Test
public void contextLoads() throws Exception {
RecordedRequest recordedRequest = server.takeRequest();
}
}
Run Code Online (Sandbox Code Playgroud)
请在上面的代码中帮助我,以从请求中检索主体和标头值,并将hash(body)与标头值等效