Я вижу проблему, и я надеюсь на проверку работоспособности ... Я нахожусь на стороне пользовательского интерфейса, имеющей дело с возвратом из метода контроллера Spring Boot.Этот метод возвращает String, и его @RequestMapping имеет «потребления», определенные как JSON.Не определено ни одного «производит».
В пользовательском интерфейсе я вижу ошибку, потому что в заголовке ответа Content-Type указан как application / json, но это действительно строка, поэтому когдапытается проанализировать JSON, это не удается.
Предполагается ли, что Spring предполагает тип продукции JSON, потому что для ресурсов установлено значение JSON, а для продуктов не задано?Производит ли значение по умолчанию то значение, которое установлено для расхода, независимо от того, какой тип метода возвращается?
Вот метод, о котором идет речь, с удалением любых идентифицирующих деталей:
@ApiOperation(value = "Do the thing", notes = "The API does the thing", response = String.class)
@RequestMapping(value = "/do/{the}/thing", method = RequestMethod.POST, consumes = "application/json")
public String doTheThing(
@ApiParam(value = "HttpHeaders parameter containing user authorization token.")
@RequestHeader(value = AUTHORIZATION_HEADER_NAME) String authorization,
@ApiParam(value = "Object ID of the existing thing.")
@PathVariable String thingId,
@ApiParam(value = "A map of properties for the thing to be created. This typically includes mandatory fields such as thing name and type.")
@RequestBody Map<String, Object> plan,@RequestParam(value = "tagName", required = false) String tagName) {
<Code to do the thing, and return a string>
return response;
}
Затем,в окне разработчика пользовательского интерфейса, если я смотрю на заголовок ответа от этого метода, указывается тип содержимого JSON:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://127.0.0.1:9000
Access-Control-Expose-Headers: Access-Control-Allow-Origin,Access-Control-
Allow-Credentials,Access-Control-Allow-Methods
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: application/json;charset=UTF-8
Date: Tue, 16 Oct 2018 18:11:22 GMT
Expires: 0
Pragma: no-cache
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
X-Application-Context: bootstrap
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block