Синтаксический анализ Rest API для текста / html завершился неудачно, так как он анализируется как application / json - PullRequest
1 голос
/ 18 апреля 2020

Для кода ответа Rest API как 404 я получаю тип содержимого ответа в виде текста / HTML. но он пытается проанализировать этот ответ как приложение / json, поэтому я получаю ошибку разбора, как показано ниже.

org.apache.http.headers - << Content-Length: 153
org.apache.http.headers - << Connection: keep-alive
c.s.c.u.r.RestClientUtil$1 - Parsing response as: application/json
groovyx.net.http.ParserRegistry - Could not find charset in response; using UTF-8
org.apache.http.wire -  << "<html>[\r][\n]"
org.apache.http.wire -  << "<head><title>404 Not Found</title></head>[\r][\n]"
org.apache.http.wire -  << "<body>[\r][\n]"
org.apache.http.wire -  << "<center><h1>404 Not Found</h1></center>[\r][\n]"
org.apache.http.wire -  << "<hr><center>nginx/1.17.8</center>[\r][\n]"
org.apache.http.wire -  << "</body>[\r][\n]"
org.apache.http.wire -  << "</html>[\r][\n]"
c.s.c.u.r.RestClientUtil$1 - Error parsing 'text/html' response
groovy.json.JsonException: Unable to determine the current character, it is not a string, number, array, or object

The current character read is '<' with an int value of 60
Unable to determine the current character, it is not a string, number, array, or object```

my code has below parser hich is calling Httpbuilder.java function- ParserRegistry getParser() {return this.parsers;}.
```newRestClient.parser['application/error+json'] = newRestClient.parser['application/json']
        newRestClient.parser['application/error+json;version=2;charset=UTF-8'] = newRestClient.parser['application/json']```

can I add some here which can also handle text/HTML response content type?
...