нет конструктора аргумента строки / метода фабрики для десериализации из значения строки ('OK') в Spring REST Docs - PullRequest
0 голосов
/ 28 октября 2019

У меня есть приложение springBoot 2.1.9.RELEASE, использующее документы Spring REST.

У меня есть этот метод в моем TestController, который возвращает ResponseEntity<HttpStatus> (HttpStatus.OK)

mockMvc.perform(post("/reservation-event")
                .content(convertToString(reservation))
                .contentType(APPLICATION_JSON))
                .andExpect(status().isOk())
                .andDo(document("create-reservation-event",

но когда я запустил тест, я получил эту ошибку:

org.springframework.restdocs.snippet.ModelCreationException: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `java.util.LinkedHashMap` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('OK')
 at [Source: (byte[])""OK""; line: 1, column: 1]

Я изменил на .andExpect(status().isCreated()) и тип возврата на return ok().body(HttpStatus.CREATED);, но затем я получил эту ошибку:

java.lang.AssertionError: Status 
Expected :201
Actual   :200
...