对外部系统的API请求在循环中运行,每次迭代都将ID传递给相同的URL。这是一个GET请求,代码看起来像这样。
<manifest xmlns:tools="http://schemas.android.com/tools"> .... <application android:usesCleartextTraffic="true" tools:targetApi="28"> ... </application> </manifest>
该代码在大约300次迭代中运行良好,然后突然开始发出400个BAD请求。 更深入地研究该异常,它会为请求提供403未经授权。
错误
super.getRestTemplate().getMessageConverters().add(super.generateJacksonConverter());
final HttpHeaders headers = new HttpHeaders();
headers.add(KeyConstants.API_KEY, "");
headers.add("Content-Type", MediaType.APPLICATION_JSON_VALUE);
final HttpEntity<String> entity = new HttpEntity<>(headers);
final String URL = URLConstants.URL + ID + "?param=true";
LOGGER.info(URL);
final ResponseEntity<String> result =
super.getRestTemplate().exchange(URL, HttpMethod.GET, entity, String.class);
subObj = new JSONObject(result.getBody());....