I "ha ereditato" un sacco di codice Spring Boot che è fondamentalmente un asortment di servizi Web REST. Tutti questi servizi Web sono separati in un'interfaccia e un'implementazione e trovo difficile capire quale metodo sta facendo cosa e come cambiare un'implementazione.
L'interfaccia di solito assomiglia a questo:
@RequestMapping(value = "/getfoo", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody ResponseEntity<Metadata> getMetadata(
@RequestParam(value = "Id", defaultValue = "") Long id);
L'implementazione è fondamentalmente una copia dell'interfaccia:
public @ResponseBody ResponseEntity<Metadata> getMetadata(
@RequestParam(value = "Id", defaultValue = "") Long id)
La parte che considero fastidiosa di più è che l'implementazione non ha l'URL di RequestMapping
e devo saltare avanti e indietro tra la dichiarazione e l'implementazione.
Eclipse fornisce supporto per facilitare questo, ma è una perdita di tempo.
Considero di appiattire il design e rimuovere l'interfaccia. È una cattiva idea?