Dato un'applicazione di avvio molla "standard" con un @RestController
, ad esempioUn avvio a molla @RestController può essere abilitato/disabilitato utilizzando le proprietà?
@RestController
@RequestMapping(value = "foo", produces = "application/json;charset=UTF-8")
public class MyController {
@RequestMapping(value = "bar")
public ResponseEntity<String> bar(
return new ResponseEntity<>("Hello world", HttpStatus.OK);
}
}
C'è un'annotazione o tecnica che impedisce l'endpoint avvio affatto se/meno che non esista una certa proprietà un'applicazione/Non esistere.
Nota: il test di una proprietà all'interno del metodo e l'esplosione non sono una soluzione, poiché il punto finale esisterà.
Non mi interessa la granularità: vale a dire abilitare/disabilitare solo un metodo o l'intera classe vanno bene entrambi.
Poiché un profilo non è una proprietà, il controllo tramite i profili non risolve il mio problema.
Si potrebbe voler considerare '@ ConditionalOnProperty' perché è leggermente più veloce della valutazione SpEL. Prova '@ConditionalOnProperty (prefix =" my.controller ", name =" enabled ")' –
Grazie, un ulteriore chiarimento su quale livello questa annotazione può essere applicata: http://stackoverflow.com/questions/30065945/conditionalonproperty-conditionally -works – codesalsa
Utilizzo di ConditionalOnProperty o ConditionalOnExpression dopo RestController non funziona per me. Bean è in fase di creazione Gli URL sono ancora accessibili seguendo i registri di AdminController RestController: DozerInitializer - Dozer JMX MBean [org.dozer.jmx: type = DozerAdminController] è registrato automaticamente con il Platform MBean Server? –