Commit ab2a1aff authored by tianbo's avatar tianbo

openapi服务增加feign调用请求头传递配置

parent 23cb67b9
package com.yeejoin.amos.api.openapi.config;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.util.StringUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* @author DELL
*/
public class FeignAuthRequestInterceptor implements RequestInterceptor {
public FeignAuthRequestInterceptor() {
}
@Override
public void apply(RequestTemplate template) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes != null) {
HttpServletRequest request = attributes.getRequest();
/* Get token from header */
String authToken = StringUtils.isEmpty(request.getHeader("X-Access-Token")) ? request.getHeader("token") : request.getHeader("X-Access-Token");
/* If token not found get it from request parameter */
String appKey = request.getHeader("appKey");
String product = request.getHeader("product");
if (authToken == null) {
authToken = request.getParameter("token");
}
if (appKey == null) {
appKey = request.getParameter("appKey");
}
if (product == null) {
product = request.getParameter("product");
}
template.header("X-Access-Token", authToken);
template.header("token", authToken);
template.header("appKey", appKey);
template.header("product", product);
}
}
}
package com.yeejoin.amos.api.openapi.config;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.support.SpringEncoder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author DELL
*/
@Configuration
public class FeignConfiguration {
/**
* 创建Feign请求拦截器,在发送请求前设置认证的token,各个微服务将token设置到环境变量中来达到通用
* @return
*/
@Bean
public FeignAuthRequestInterceptor basicAuthRequestInterceptor() {
return new FeignAuthRequestInterceptor();
}
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignComFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}
...@@ -251,7 +251,7 @@ public class SuperviseController { ...@@ -251,7 +251,7 @@ public class SuperviseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "赋码") @ApiOperation(value = "赋码")
@PostMapping(value = "/generation/code") @PostMapping(value = "/generation/code")
@RestEventTrigger(value = "openapiLogEventHandler") @RestEventTrigger(value = "openapiLogEventHandler")
...@@ -259,7 +259,7 @@ public class SuperviseController { ...@@ -259,7 +259,7 @@ public class SuperviseController {
return ResponseHelper.buildResponse(createCodeService.createCode(map)); return ResponseHelper.buildResponse(createCodeService.createCode(map));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "数据状态修改") @ApiOperation(value = "数据状态修改")
@PostMapping(value = "/update/dateStatus") @PostMapping(value = "/update/dateStatus")
@RestEventTrigger(value = "openapiLogEventHandler") @RestEventTrigger(value = "openapiLogEventHandler")
...@@ -267,7 +267,7 @@ public class SuperviseController { ...@@ -267,7 +267,7 @@ public class SuperviseController {
return ResponseHelper.buildResponse(createCodeService.updateStatus(map)); return ResponseHelper.buildResponse(createCodeService.updateStatus(map));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "检验检测信息") @ApiOperation(value = "检验检测信息")
@GetMapping(value = "/inspectionInfo") @GetMapping(value = "/inspectionInfo")
@RestEventTrigger(value = "openapiLogEventHandler") @RestEventTrigger(value = "openapiLogEventHandler")
...@@ -275,7 +275,7 @@ public class SuperviseController { ...@@ -275,7 +275,7 @@ public class SuperviseController {
return ResponseHelper.buildResponse(inspectionInfoService.selectInspect(superviseCode)); return ResponseHelper.buildResponse(inspectionInfoService.selectInspect(superviseCode));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "监管设备信息") @ApiOperation(value = "监管设备信息")
@PostMapping(value = "/equipment/info") @PostMapping(value = "/equipment/info")
@RestEventTrigger(value = "openapiLogEventHandler") @RestEventTrigger(value = "openapiLogEventHandler")
......
...@@ -229,7 +229,7 @@ public class EquipmentCategoryController extends BaseController { ...@@ -229,7 +229,7 @@ public class EquipmentCategoryController extends BaseController {
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/createSupervisorCode", method = RequestMethod.POST) @RequestMapping(value = "/createSupervisorCode", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "生成监管码和96333码", notes = "生成监管码和96333码") @ApiOperation(httpMethod = "POST", value = "生成监管码和96333码", notes = "生成监管码和96333码")
public ResponseModel<Object> createSupervisorCode(@RequestBody Map<String,Object> map) { public ResponseModel<Object> createSupervisorCode(@RequestBody Map<String,Object> map) {
...@@ -240,7 +240,7 @@ public class EquipmentCategoryController extends BaseController { ...@@ -240,7 +240,7 @@ public class EquipmentCategoryController extends BaseController {
* 修改数据状态是否显示编辑按钮 * 修改数据状态是否显示编辑按钮
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateOtherInfo", method = RequestMethod.POST) @RequestMapping(value = "/updateOtherInfo", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "修改数据状态", notes = "修改数据状态") @ApiOperation(httpMethod = "POST", value = "修改数据状态", notes = "修改数据状态")
public ResponseModel<Object> updateOtherInfo(@RequestBody Map<String,Object> map) { public ResponseModel<Object> updateOtherInfo(@RequestBody Map<String,Object> map) {
...@@ -560,33 +560,33 @@ public class EquipmentCategoryController extends BaseController { ...@@ -560,33 +560,33 @@ public class EquipmentCategoryController extends BaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/saveSupervisoryData") @PostMapping(value = "/saveSupervisoryData")
@ApiOperation(httpMethod = "POST", value = "监管设备数据保存", notes = "监管设备保存") @ApiOperation(httpMethod = "POST", value = "监管设备数据保存", notes = "监管设备保存")
public ResponseModel<Boolean> saveSupervisoryData(@RequestBody EquipmentMessageDto data) { public ResponseModel<Boolean> saveSupervisoryData(@RequestBody EquipmentMessageDto data) {
return ResponseHelper.buildResponse(equipmentCategoryServiceImpl.saveSupervisoryData(data)); return ResponseHelper.buildResponse(equipmentCategoryServiceImpl.saveSupervisoryData(data));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/saveConstructionInfoData") @PostMapping(value = "/saveConstructionInfoData")
@ApiOperation(httpMethod = "POST", value = "监管设备施工数据保存", notes = "监管设备施工数据保存") @ApiOperation(httpMethod = "POST", value = "监管设备施工数据保存", notes = "监管设备施工数据保存")
public ResponseModel<Boolean> saveConstructionInfoData(@RequestBody IdxBizJgConstructionInfo data) { public ResponseModel<Boolean> saveConstructionInfoData(@RequestBody IdxBizJgConstructionInfo data) {
return ResponseHelper.buildResponse(equipmentCategoryServiceImpl.saveConstructionInfoData(data)); return ResponseHelper.buildResponse(equipmentCategoryServiceImpl.saveConstructionInfoData(data));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/saveMaintenanceRecordInfoData") @PostMapping(value = "/saveMaintenanceRecordInfoData")
@ApiOperation(httpMethod = "POST", value = "监管设备维保数据保存", notes = "监管设备维保数据保存") @ApiOperation(httpMethod = "POST", value = "监管设备维保数据保存", notes = "监管设备维保数据保存")
public ResponseModel<Boolean> saveMaintenanceRecordInfoData(@RequestBody IdxBizJgMaintenanceRecordInfo data) { public ResponseModel<Boolean> saveMaintenanceRecordInfoData(@RequestBody IdxBizJgMaintenanceRecordInfo data) {
return ResponseHelper.buildResponse(equipmentCategoryServiceImpl.saveMaintenanceRecordInfoData(data)); return ResponseHelper.buildResponse(equipmentCategoryServiceImpl.saveMaintenanceRecordInfoData(data));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/saveDetectionInfoData") @PostMapping(value = "/saveDetectionInfoData")
@ApiOperation(httpMethod = "POST", value = "监管设备检验检测数据保存", notes = "监管设备检验检测数据保存") @ApiOperation(httpMethod = "POST", value = "监管设备检验检测数据保存", notes = "监管设备检验检测数据保存")
public ResponseModel<Boolean> saveDetectionInfoData(@RequestBody IdxBizJgInspectionDetectionInfo data) { public ResponseModel<Boolean> saveDetectionInfoData(@RequestBody IdxBizJgInspectionDetectionInfo data) {
return ResponseHelper.buildResponse(equipmentCategoryServiceImpl.saveDetectionInfoData(data)); return ResponseHelper.buildResponse(equipmentCategoryServiceImpl.saveDetectionInfoData(data));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteByRecord") @PostMapping(value = "/deleteByRecord")
@ApiOperation(httpMethod = "POST", value = "数据异常回滚", notes = "数据异常回滚") @ApiOperation(httpMethod = "POST", value = "数据异常回滚", notes = "数据异常回滚")
public ResponseModel<Boolean> saveDetectionInfoData(@RequestParam("record") String record) { public ResponseModel<Boolean> saveDetectionInfoData(@RequestParam("record") String record) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment