我们有一个带有基本路径的休息控制器作为/诊断,差异路径配置有如下所示的差异方法。
这两个终点正被两个不同的系统所消耗。现在我们正在计划两个工具弹簧集成,以便我们可以使用路由器和变换器为两个系统产生两种类型的响应。现在我正在编写SI配置,并希望在SI中为Post方法/诊断设置相同的终点,并删除控制器中Post的方法级别配置。当我这样做时,我得到方法不允许例外。
可以这样配置吗?我想在SI中设置相同的终点并在控制器中删除,因为我不想打扰目前消耗这个终点的系统
控制器:
@RestController
@RequestMapping("/diagnosissurvey")
public class DiagnosisSurveyServiceController {
public ResponseForSfdcAndHybris saveDiagnosis(@RequestBody SurveyLevel submitRequest) {
//some code here
}
@RequestMapping(value = "/questions/{categoryId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseObject getQuestions(@PathVariable String categoryId) throws JsonProcessingException {
//some code here
}
}
SI XML文件:
<int-http:inbound-gateway id="hybrisDiagnosisInboundGateway"
path="/diagnosissurvey"
supported-methods="POST"
request-channel="hybrisDiagnosisInbound"
reply-channel="diagnosisOutBoundToRouter"
request-payload-type="com.cardinalhealth.chh.model.SurveyLevel" >
</int-http:inbound-gateway>
<int:service-activator ref="diagnosisSurveyServiceController" method="saveDiagnosis" input-channel="hybrisDiagnosisInbound" output-channel="diagnosisOutBoundToRouter"/>
*更新