Первый раз что-то пишу на Spring. Добавляю к уже имеющемуся в репо коду небольшой сервис, которые принимает параметр запроса с клиента и передаёт его в сторонний API.
Сервис содержит два класса, не считая интерфейса:
Контроллер@RestController
@RequestMapping("/store/search")
@CrossOrigin("*")
public class APToid {
private AptoidSearch aptoidSearch;
@GetMapping
public ResponseEntity<String> searchInAptoidStore(@RequestParam("query") String query) {
return aptoidSearch.aptoidSearch(query);
}
}
Сервис@Service
public class AptoidSearchImpl implements AptoidSearch {
private static final String uri = "https://ws75.aptoide.com/api/7/apps/search?query=";
@Override
public ResponseEntity<String> aptoidSearch(String query) {
RestTemplate restTemplate = new RestTemplate();
return restTemplate.getForEntity(uri + query, String.class);
}
}
Строка запроса, как вы видите, берётся непосредственно из клиента. Какие есть способы убедиться, что клиент не передаёт мне какое-нибудь опасное говнецо?