1. 程式人生 > >Spring boot2.0 入門(七)-使用工廠模式響應請求

Spring boot2.0 入門(七)-使用工廠模式響應請求

有時候只想隨便做個微服務,也並不想使用什麼Rest風格,就所有介面都使用一個欄位進行標識(例子使用method),然後呼叫相應的介面方法,以下程式碼所有的http請求都會進入demo這個方法,然後通過請求帶的請求標識,通過Spring IOC容器獲取相應的Service Bean(這裡為Service中的impl取名xxxxProcessor),然後執行相應的方法,這裡所有的Service都繼承了BaseInterface介面,實現process方法。

@RestController
@RequestMapping("/test")
public class CommandController
implements ApplicationContextAware { private ApplicationContext applicationContext = null; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } @RequestMapping("/test") public
testResult demo(@RequestBody Map<String, String> params) { BaseInterface processor = (BaseInterface) applicationContext.getBean(params.get("method")+"Processor"); return processor.process(params); } }