0

我已经像这样设置了我的转换器 - converters = {StringHttpMessageConverter.class, FormHttpMessageConverter.class, MappingJackson2HttpMessageConverter.class}

我假设它会在尝试映射到 JSON 之前先尝试字符串。我如何向底层转换器发出信号,不要尝试映射到 JSON,因为此响应是 401 Unauthorized,我想尝试重新验证我的情况并尝试相同的操作?

或者我应该只包含一个带有这个特定异常的 catch 块来处理这个?

得到以下异常。

W/System.err:org.springframework.http.converter.HttpMessageNotReadableException:无法读取 JSON:无法识别的令牌“未授权”:期待(“真”、“假”或“空”) W/System.err:在 [来源:buffer(com.android.okhttp.internal.http.HttpConnection$FixedLengthSource@f03e4ce).inputStream(); 行:2,列:14];嵌套异常是 com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Unauthorized': was expecting ('true', 'false' or 'null') W/System.err: at [Source: buffer(com.android. okhttp.internal.http.HttpConnection$FixedLengthSource@f03e4ce).inputStream(); 行:2,列:14]

4

1 回答 1

0

根据您的响应,即 401 这是未经授权的错误响应,将标题设置为HttpEntity

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("Authorization", "Bearer <token id>");
于 2017-01-19T13:27:36.153 回答