0

Запуск теста проверки и получить эти противные символы, встроенные в выходе проверки Кураж 2.0 {"$ref":"#/definitions/DeferredResult«ResponseEntity«SummCollection»»"Странный персонаж в MockHttpServletRequest Swagger2 DeferredResult ответом

метод контроллера возвращает: DeferredResult<ResponseEntity<SummCollection>>

Я просто заметил, как я пишу вопрос: Актуально: "<" Crazy: «Â«»

Странный персонаж в MockHttpServletRequest Swagger2 DeferredResult ответом

Это похоже на проблему между «iso-8859-1» и «utf-8»? ИДК.

Вопрос заключается в том, что вызывает SwaggerTest validateImplementationAgainstDesignSpec для чтения файла .yaml json просто отлично, но MockMvc выполняет GET, ответ содержит эти символы «Â» между именами классов и разделителями.

КОД CALL:

MvcResult mvcResult = this.mockMvc.perform(get("/v2/api-docs?group=full-api") // 2 .accept(MediaType.APPLICATION_JSON) .characterEncoding("application/json;charset=ISO-8859-1")) .andDo(MockMvcResultHandlers.print()) .andExpect(status().isOk()) .andReturn();

Я отлажена код с набором строки .characterEncoding("application/json;charset=ISO-8859-1")) в "UTF-8", а все остальное в крайности (включая "Windows-1252"). Это происходит на сервере CI Linux, так что это не намотчики.

Я читал об этом как о проблеме/симптоме , но безрезультатно, как исправить использование MockMVC для вызова Swagger2.

ВЫВОД:
MockHttpServletResponse: Status = 200 Error message = null Headers = {Content-Type=[application/json]} Content type = application/json Body = {"swagger":"2.0","info":{"description":"Some Description ","version":"1.0","title":"Sum-Server","license":{}},"host":"localhost","basePath":"/","tags":[{"name":"summ-service","description":"Summary Service"}],"paths":{"/api/v1/summ/{id}":{"get":{"tags":["device-summary-service"],"summary":"getDeviceSummaries","operationId":"getDeviceSummariesUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"type":"string"},{"name":"days","in":"query","description":"days","required":false,"type":"string"},{"name":"start","in":"query","description":"start","required":false,"type":"string"},{"name":"end","in":"query","description":"end","required":false,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/DeferredResult«ResponseEntity«SummCollection»»"}}}}}},"definitions":{"SummCollection":{"type":"object","properties":{"SummList":{"type":"array","items":{"$ref":"#/definitions/SummDateRange"}},"endDate":{"type":"string"},"prioritizedReportFamily":{"type":"integer","format":"int32"},"startDate":{"type":"string"}}},"DeferredResult«ResponseEntity«SummCollection»»":{"type":"object","properties":{"result":{"type":"object"},"setOrExpired":{"type":"boolean"}}}}}

ответ

0

Каждый раз, когда я делаю вопрос, часы отходов, говоря себе, не делайте Stack Overflow, вы почти есть. затем в отчаянии, наконец, напишите вопрос ...

Через 35 минут найти ответ .... простой тоже. {} Уч Смотрите здесь: http://docs.spring.io/spring/docs/current/javadoc-api/index.html?constant-values.html

APPLICATION_JSON_UTF8_VALUE "application/json;charset=UTF-8" APPLICATION_JSON_VALUE "application/json"

исправление было:

.accept(MediaType.APPLICATION_JSON_UTF8_VALUE))

MediaType! ХА! Надеюсь, это поможет кому-то. :)

Смежные вопросы