1
스프링 부트 응용 프로그램을 만들었으며 이것이 내 컨트롤러의 모습입니다. 나는 우편 발송자를 사용하여 요청 본문에 json을 보내고 요청 헤더에 문자열을 넣은 다음 json을 해싱하고 요청 헤더에있는 문자열과 비교합니다. 문제는 MockMvc를 사용하여 각각의 Controller 클래스를 테스트하기 위해 요청 본문과 요청 헤더를 얻지 못한다는 것입니다.봄 mvc 테스트에서 요청 본문 및 요청 헤더에 액세스
컨트롤러 로직
@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);
}
}
테스트 로직
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();
}
}
위의 요청에서 몸과 헤더 값을 검색하는 코드와 해시를 동일시 (몸)에 저를 도와주세요 헤더 값 포함
이 해시 값을 얻을 수 n은 다음 컨트롤러에 도달 할 헤더 값 – Sunil
과 비교하기 위해 REQ 해쉬 함수로 JSON 문자열을 보내드립니다 거기에 양식을 – Barath
처리해야합니다 그리고 그 콘텐츠()에서 json 문자열을 어떻게 받아 들일지 및 "키"머리글 이름을 언급 할 필요가 의심 ... 나는이 물건에 처음이다 – Sunil