Я сейчас работаю над веб-проектом.Я реализовал класс контроллера.Для класса контроллера у меня есть аннотация @GetMapping ('/ api / abc') для вызова класса AbcController.По сути, он возвращает карту, содержащую объект, который key = «myKey», value = «myValue».Что мне нужно сделать, это написать тест на огурец для этого класса.Я видел, как некоторые люди используют httpEntity для подобных проблем.Тем не менее, я все еще смущен по этому поводу.Я буду загружать свой код Java и класс объектов позже, так как сейчас я не дома.То, что я думаю, я могу проверить 2 часть.1: код ответа, который должен быть 200. 2: Создайте объект карты с Key = «myKey» и получите значение от запуска через класс контроллера и, наконец, сравните, если два значения равны.Может ли кто-нибудь помочь мне с этим?Я не очень понимаю, как работает httpEntity.Спасибо.
Вот мой код для шагов, может кто-нибудь сказать мне, нахожусь ли я на правильном пути или нет, и какая часть httpEntity или ResponseEntity содержит нужное мне значение (которое должно быть возвращено из вызова API).Спасибо!
public class myControllerStepDef(){
private ResponseEntity<String[]> myResponse;
RequestCall back requesCallback;
HttpEntity<String> entity;
HttpHeaders headers;
UriComponentsBuilder builder;
@When("^the my_service gets api/abc request is sent$")
public void the_serice_gets_abc_request(){
builder = UriComponentsBuilder.fromUriString("/api/abc");
headers = new HttpHeaders();
entity = new HttpEntity<String>(null, headers);
myResponse = restTemplate.exchange(builder.toUriString(),
HttpMethod.GET, entity, String[].class);
}
@Then("^http response for my_service for abc with status code 200$")
public void http_response_for_my_service_for_abc(int arg1){
Assert.assertEquals(arg1, myResponse.getStatusCodeValue());
}
@Then("^verify the value of abc $")
public void verify_the_value_of_abc(String result){
//
}
}