From 9ceececf1c219fffda61696d6eda6645c910f929 Mon Sep 17 00:00:00 2001
From: 吴学文 <wuxuewen@wuxuewendeMacBook-Pro.local>
Date: 星期二, 23 四月 2019 00:36:22 +0800
Subject: [PATCH] 服务之间查询调用采用spring feign 有同学反映查询通过表配置sql的方式不太友好,所以提供另一种解决方案
---
WebService/src/main/java/com/java110/web/controller/CallComponentController.java | 26 ++++++++++++++++----------
1 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/WebService/src/main/java/com/java110/web/controller/CallComponentController.java b/WebService/src/main/java/com/java110/web/controller/CallComponentController.java
index 0a7ad8d..b88c0ac 100644
--- a/WebService/src/main/java/com/java110/web/controller/CallComponentController.java
+++ b/WebService/src/main/java/com/java110/web/controller/CallComponentController.java
@@ -1,6 +1,7 @@
package com.java110.web.controller;
import com.java110.common.constant.CommonConstant;
+import com.java110.common.exception.SMOException;
import com.java110.common.factory.ApplicationContextFactory;
import com.java110.common.util.Assert;
import com.java110.core.base.controller.BaseController;
@@ -8,8 +9,10 @@
import com.java110.web.smo.impl.LoginServiceSMOImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@@ -36,27 +39,30 @@
//@RequestBody String info,
HttpServletRequest request){
ResponseEntity<String> responseEntity = null;
- try{
- Assert.hasLength(componentCode,"鍙傛暟閿欒锛屾湭浼犲叆缁勪欢缂栫爜");
- Assert.hasLength(componentMethod,"鍙傛暟閿欒锛屾湭浼犲叆璋冪敤缁勪欢鏂规硶");
+ try {
+ Assert.hasLength(componentCode, "鍙傛暟閿欒锛屾湭浼犲叆缁勪欢缂栫爜");
+ Assert.hasLength(componentMethod, "鍙傛暟閿欒锛屾湭浼犲叆璋冪敤缁勪欢鏂规硶");
Object componentInstance = ApplicationContextFactory.getBean(componentCode);
- Assert.notNull(componentInstance,"鏈壘鍒扮粍浠跺搴旂殑澶勭悊绫伙紝璇风‘璁� "+componentCode);
+ Assert.notNull(componentInstance, "鏈壘鍒扮粍浠跺搴旂殑澶勭悊绫伙紝璇风‘璁� " + componentCode);
- Method cMethod = componentInstance.getClass().getDeclaredMethod(componentMethod,IPageData.class);
+ Method cMethod = componentInstance.getClass().getDeclaredMethod(componentMethod, IPageData.class);
- Assert.notNull(cMethod,"鏈壘鍒扮粍浠跺搴斿鐞嗙被鐨勬柟娉曪紝璇风‘璁� "+componentCode+"鏂规硶锛�"+componentMethod);
+ Assert.notNull(cMethod, "鏈壘鍒扮粍浠跺搴斿鐞嗙被鐨勬柟娉曪紝璇风‘璁� " + componentCode + "鏂规硶锛�" + componentMethod);
IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
- logger.debug("缁勪欢缂栫爜{}锛岀粍浠舵柟娉晎}锛宲d 涓簕}",componentCode,componentMethod,pd.toString());
+ logger.debug("缁勪欢缂栫爜{}锛岀粍浠舵柟娉晎}锛宲d 涓簕}", componentCode, componentMethod, pd.toString());
- responseEntity = (ResponseEntity<String>)cMethod.invoke(componentInstance,pd);
+ responseEntity = (ResponseEntity<String>) cMethod.invoke(componentInstance, pd);
-
+ }catch (SMOException e){
+ MultiValueMap<String, String> headers = new HttpHeaders();
+ headers.add("code",e.getResult().getCode());
+ responseEntity = new ResponseEntity<>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
}catch (Exception e){
- responseEntity = new ResponseEntity<>("璋冪敤缁勪欢澶辫触"+e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
+ responseEntity = new ResponseEntity<>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
}finally {
logger.debug("缁勪欢璋冪敤杩斿洖淇℃伅涓簕}",responseEntity);
return responseEntity;
--
Gitblit v1.8.0