TestRestTemplate возвращает 415 неподдерживаемый тип носителя для вызова POST на IntelliJ - PullRequest
0 голосов
/ 18 октября 2019

Я пишу функциональные тесты для моего Spring Boot 2 приложения.

Я использовал TestRestTemplate для функционального тестирования. Это работало нормально для GET API. Но теперь для тестирования POST API возвращается 415 Unsupported Media Type . Я передаю заголовки Content-Type и Accept со значением application/json.

Это происходит только при запуске теста на IntelliJ 19 . Он работает нормально по командной строке. Я использую Gradle инструмент для сборки.

@RestController
@RequestMapping("Path/rest")    
public class Controller {
    @PostMapping(value = "/api", produces = "application/json", consumes = "application/json")
    public ResponseEntity<Response> getResponse(
    @RequestBody Request request,
    @RequestHeader(name = "Transaction-GUID", required = false) String transactionGUIDheader, HttpServletRequest request)
    throws InvalidInputException, ExternalServiceGenericException {

    Response response = service.getResponse(request, transactionGUID);

    return new ResponseEntity<>(response, HttpStatus.OK);
}

Функциональный тест:

@ActiveProfiles(FUNCTIONAL_TEST)
@SpringBootTest (webEnvironmentSpringBootTest.WebEnvironment.DEFINED_PORT)
@ExtendWith({SpringExtension.class})
@AutoConfigureWireMock(port = 9000)
public class ControllerFunctionalTest {
    @Autowired
    private ObjectMapper objectMapper;

    @Autowired
    protected TestRestTemplate testRestTemplate;

    @BeforeEach
    public void setup() {
        WireMock.reset();
    }

    @Test
public void testControllerPost(){

   HttpEntity<Reqeust>  request = createRq(String str1, String str2);
   callWiremock();
   String url = "http://localhost:8080/Path/rest/api";
   ResponseEntity<Response> response =
        testRestTemplate.postForObject(url, request, Response.class);

    assertNotNull(response);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...