Stiamo utilizzando REST API
con Spring MVC per sviluppare endpoint. Ho una domanda relativa alla posizione del metodo (livello controller o livello servizio). Il controller ha un metodo get()
che accetta un po 'di requestParameters
. In questo requestParameters
contiene id crittografati che sono separati da una pipe (|), quindi dobbiamo inserire un metodo per separare gli id e decodificarli, quindi dove dovrebbe questo metodo getAdditionalFilters()
go - nel controller (come privato metodo) o nel servizio?
Metodo fittizio come di seguito:
private Map<String, Object> getAdditionalFilters(String encryptedIdsSeparatedByPipe) {
Map<String, Object> additionalFilter = new HashMap<String, Object>();
List<Long> mSkFilterList = convertIdListToSkList(encryptedIdsSeparatedByPipe, "PREFIX");
additionalFilter.put("ADDITIONAL_CRITERIA",
Restrictions.in("id", mSkFilterList));
return additionalFilter;
}
private List<Long> convertIdListToSkList(String encryptedIdsSeparatedByPipe, String prefix) {
List<Long> listOfSkToFilter = new ArrayList<Long>();
@SuppressWarnings("unchecked")
List<String> filterIdList = Arrays.asList(encryptedIdsSeparatedByPipe.split(Pattern.quote("|")));
for (String id : filterIdList) {
//logic to conver encrypted id to sk and then adding it to the result list
listOfSkToFilter.add(sk);
}
return listOfSkToFilter;
}
Per favore fatemi sapere se sono necessarie ulteriori informazioni.