diff --git a/WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp b/WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp index 6650bf6..f6415f3 100644 --- a/WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp +++ b/WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp @@ -168,7 +168,7 @@ function validateName(){ return checkError; } -function localSave(){ +function localSave(isSilent){ var key =$("input[name=ADPTRBZWKNAME]").val(); //객체 생성 var save ={}; @@ -217,8 +217,12 @@ function localSave(){ save["adapterPropGroup"]= adapterPropGroup; save["adapterProps"] = fullData; submitData[key]=save; - - alert("<%=localeMessage.getString("adapterDetail.saveAlertMsg1")%>"); + + if (!isSilent) { + alert("<%=localeMessage.getString("adapterDetail.saveAlertMsg1")%>"); + } else { + alert("어댑터 정보 저장 성공!"); + } } @@ -280,6 +284,7 @@ function init(key,callback){ callback(key); } + }, error:function(e){ alert(e.responseText); @@ -328,6 +333,7 @@ function detail(key){ } }); + //adapter @@ -632,7 +638,15 @@ $(document).ready(function() { var r = confirm("<%=localeMessage.getString("adapterDetail.checkMsg4")%>"); if (r == false) return; } - + + // 25.12.16 수정시 어댑터 리스트 자동저장 + alert("어댑터의 정보를 저장을 먼저 진행합니다.") + var isSubSaveSuccess = ModifyPopCheckAndSave(true); + + if (!isSubSaveSuccess) { + alert("어댑터 정보 저장이 실패했습니다. 어댑터 정보를 확인해주세요."); + return; + } //공통부만 form으로 구성 var postData = $('#ajaxForm').serializeArray(); @@ -819,24 +833,33 @@ $(document).ready(function() { localSave(); chkAdapterCnt('add'); - }); - $("#btn_pop_modify").click(function(){ - // + }); + $("#btn_pop_modify").click(function(){ // 검색용 + ModifyPopCheckAndSave(false); + }); + + function ModifyPopCheckAndSave(isSilent) { var isDuplication = false; + $("select[name=ADAPTERLIST] option").each(function(){ if ($(this).val() == $("input[name=ADPTRBZWKNAME]").val()){ isDuplication = true; } }); - if (!isDuplication){ - alert("<%=localeMessage.getString("adapterDetail.checkMsg2")%>"); - return; - } - localSave(); - }); + if (!isDuplication){ + // 화면 저장시 기존 alert 표시, INSERT/UPDATE 시 메시지 표시하지 않음 + if (!isSilent) { + alert("<%=localeMessage.getString("adapterDetail.checkMsg2")%>"); + } + return false; + } + + localSave(isSilent); + return true; + } + $("#btn_pop_delete").click(function(){ - // var isDuplication = false; $("select[name=ADAPTERLIST] option").each(function(){ if ($(this).val() == $("input[name=ADPTRBZWKNAME]").val()){ diff --git a/WebContent/jsp/onl/admin/authserver/clientManDetail.jsp b/WebContent/jsp/onl/admin/authserver/clientManDetail.jsp index 2eddc9a..18e652f 100644 --- a/WebContent/jsp/onl/admin/authserver/clientManDetail.jsp +++ b/WebContent/jsp/onl/admin/authserver/clientManDetail.jsp @@ -479,17 +479,17 @@ REDIRECT URI - + <%= localeMessage.getString("clntManDtl.athrt") %> (<%= localeMessage.getString("clntManDtl.sprt") %> ,) - + - + <%= localeMessage.getString("clntManDtl.rsrc") %> (<%= localeMessage.getString("clntManDtl.sprt") %> ,) - + <%= localeMessage.getString("clntManDtl.tknExprtnDt") %> @@ -501,11 +501,11 @@ - + <%= localeMessage.getString("clntManDtl.atmtcApprvlScp") %> (<%= localeMessage.getString("clntManDtl.sprt") %> ,) - + <%= localeMessage.getString("clntManDtl.allwIp") %> diff --git a/WebContent/jsp/onl/admin/authserver/scopeManDetail.jsp b/WebContent/jsp/onl/admin/authserver/scopeManDetail.jsp index 1de52b6..8a78458 100644 --- a/WebContent/jsp/onl/admin/authserver/scopeManDetail.jsp +++ b/WebContent/jsp/onl/admin/authserver/scopeManDetail.jsp @@ -18,6 +18,8 @@ @@ -161,7 +320,25 @@ $(document).ready(function() { - + +
+
+
API
+
+ + +
+
+
+
+
+
+
+
diff --git a/WebContent/jsp/onl/apim/apigroup/apiGroupManPopup.jsp b/WebContent/jsp/onl/apim/apigroup/apiGroupManPopup.jsp index 039c019..0654ec0 100644 --- a/WebContent/jsp/onl/apim/apigroup/apiGroupManPopup.jsp +++ b/WebContent/jsp/onl/apim/apigroup/apiGroupManPopup.jsp @@ -27,9 +27,11 @@ for(var i = 0; i < selectedRowIds.length; i++) { var rowData = grid.jqGrid('getRowData', selectedRowIds[i]); selectedData.push({ - bizCode: rowData.eaiBzwkDstcd, + bizCode: rowData.eaiBzwkDstcd, // CLINET apiId: rowData.eaiSvcName, - apiDesc: rowData.eaiSvcDesc + apiDesc: rowData.eaiSvcDesc, // SCOPE-API + APIFULLPATH: rowData.apiFullPath, + BZWKSVCKEYNAME: rowData.bzwksvckeyname }); } @@ -108,6 +110,7 @@ 'API ID', 'API 명', 'API FULL PATH', + '업무서비스명', '요청', '응답', '작성자', @@ -117,12 +120,13 @@ colModel : [ { name : 'eaiBzwkDstcd' , align : 'center' , width:'40', sortable:false}, { name : 'eaiSvcName' , align : 'left' , width:'100'}, { name : 'eaiSvcDesc' , align : 'left' }, - { name : 'apiFullPath' , align : 'left' , width:'180'}, + { name : 'apiFullPath' , align : 'left' , width:'100'}, + { name : 'bzwksvckeyname' , align : 'left' , width:'100', hidden: true}, { name : 'fromAdapter' , align : 'center' , width:'40', formatter:adapterNameShortFormatter }, { name : 'toAdapter' , align : 'center' , width:'40', formatter:adapterNameShortFormatter }, { name : 'author' , align : 'center' , width:'60' }, { name : 'simYn' , align : 'center' , width:'40' }, - { name : 'syncAsyncType' , align : 'center' , width:'40', hidden: true }, + { name : 'syncAsyncType' , align : 'center' , width:'40', hidden: true}, ], jsonReader : { repeatitems : false diff --git a/WebContent/jsp/onl/transaction/apim/apiInterfaceManDetail.jsp b/WebContent/jsp/onl/transaction/apim/apiInterfaceManDetail.jsp index 62ee6e2..df04283 100644 --- a/WebContent/jsp/onl/transaction/apim/apiInterfaceManDetail.jsp +++ b/WebContent/jsp/onl/transaction/apim/apiInterfaceManDetail.jsp @@ -1,4 +1,4 @@ -<%@ page language="java" contentType="text/html; charset=utf-8"%> + <%@ page language="java" contentType="text/html; charset=utf-8"%> <%@ page import="java.io.*"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ include file="/jsp/common/include/localemessage.jsp" %> @@ -512,6 +512,9 @@ $("#toResponseAdapter").change(); $("#apiFullPath").val(data["apiFullPath"]); // 스펙 전달용 값 + + $('#inboundHttpMethod').trigger('change'); + $('#outboundHttpMethod').trigger('change'); }, error:function(e){ alert(e.responseText); @@ -831,10 +834,19 @@ $("input[name=bzwkSvcKeyName]").val($("input[name=eaiTranName]").val()); } - // 사용자 편의를 위해 inboundRestPath 앞에 "/" 는 제외함. + // 사용자 편의를 위해 Path 앞에 "/" 는 제외, 복제도 포함. $("input[name=inboundRestPath]").val(function(index, value) { return value.replace(/^\/+/, ""); }); + $("input[name=inboundResponseRestPath]").val(function(index, value) { + return value.replace(/^\/+/, ""); + }); + $("input[name=outboundRestPath]").val(function(index, value) { + return value.replace(/^\/+/, ""); + }); + $("input[name=outboundResponseRestPath]").val(function(index, value) { + return value.replace(/^\/+/, ""); + }); var postData = $('#ajaxForm').serializeArray(); if (isDetail){ @@ -1232,7 +1244,15 @@ $('#stdCommonValueModal').modal('hide'); }); - function setupCloneInterfaceModal() { + function setupCloneInterfaceModal(event) { + const eaiBzwkDstcd = $('#eaiBzwkDstcd').val(); + const eaiSvcDesc = $('#eaiSvcDesc').val(); + const inboundHttpMethod = $('#inboundHttpMethod').val(); + + $('#newBizCode').val(eaiBzwkDstcd).trigger('change'); + $('#newSvcDesc').val(eaiSvcDesc); + $('#newInboundHttpMethod').val(inboundHttpMethod).trigger('change'); + $('#newSvcName').val(''); if($('#inboundRestPath').prop('disabled')){ $('#newRoutingOptionGroup').css('display','none'); @@ -1245,11 +1265,19 @@ const orgApiInterfaceId = getFullSvcName(); const newBizCode = $('#newBizCode').val(); const newSvcName = $('#newSvcName').val(); + const newSvcDesc = $('#newSvcDesc').val(); const newSendRecvType = $('#newSendRecvType').val(); const newInOutType = $('#newInOutType').val(); const newApiInterfaceId = newSvcName+newSendRecvType+newInOutType; const newInboundHttpMethod = $('#newInboundHttpMethod').val(); + + $("input[name=newInboundRestPath]").val(function(index, value) { + return value.replace(/^\/+/, ""); + }); + const newInboundRestPath = $('#newInboundRestPath').val(); + + $.ajax({ type: "POST", url: jsonUrl, @@ -1257,12 +1285,13 @@ cmd: 'CLONE', orgApiInterfaceId, newBizCode, + newSvcDesc, newApiInterfaceId, newInboundHttpMethod, newInboundRestPath, }, beforeSend: function() { - $("[id^='btn_']").prop("disabled", true); + $("[id=doCloneInterfaceButton]").prop("disabled", true); $("#doCloneInterfaceButton").text("처리중 . . . . ."); }, success: function () { @@ -1986,7 +2015,7 @@ + + + \ No newline at end of file diff --git a/WebContent/jsp/onl/transaction/apim/apiSpecManPopup.jsp b/WebContent/jsp/onl/transaction/apim/apiSpecManPopup.jsp index f4f6154..138c64f 100644 --- a/WebContent/jsp/onl/transaction/apim/apiSpecManPopup.jsp +++ b/WebContent/jsp/onl/transaction/apim/apiSpecManPopup.jsp @@ -98,7 +98,6 @@ function detail(key) { // console.log('Before AJAX call, key:', key); // Log the key before the AJAX call - debugger; $.ajax({ type: "POST", url: url, diff --git a/src/main/java/com/eactive/eai/rms/common/advice/EmptyJsonResponseAdviceController.java b/src/main/java/com/eactive/eai/rms/common/advice/EmptyJsonResponseAdviceController.java index 525f5be..c98bed7 100644 --- a/src/main/java/com/eactive/eai/rms/common/advice/EmptyJsonResponseAdviceController.java +++ b/src/main/java/com/eactive/eai/rms/common/advice/EmptyJsonResponseAdviceController.java @@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.ControllerAdvice; @@ -25,6 +26,7 @@ public class EmptyJsonResponseAdviceController implements ResponseBodyAdvice EMPTY_JSON = Collections.emptyMap(); + private static final String EMPTY_JSON_STRING = "{}"; @PostConstruct public void init() { @@ -42,24 +44,25 @@ public class EmptyJsonResponseAdviceController implements ResponseBodyAdvice> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { - // .json 요청이 아니면 원본 그대로 반환 - String path = request.getURI().getPath(); - if (path == null || !path.endsWith(".json")) { - return body; - } - - // 빈 응답인 경우 빈 JSON 객체로 변환 - if (body == null) { - logger.debug("빈 응답 감지 (null), {} 로 변환: {}", path); - return EMPTY_JSON; - } - - // String 타입의 빈 응답 처리 - if (body instanceof String && ((String) body).isEmpty()) { - logger.debug("빈 응답 감지 (empty string), {} 로 변환: {}", path); - return EMPTY_JSON; - } - - return body; + String path = request.getURI().getPath(); + + // .json 요청이 아니면 원본 그대로 반환 + if (path == null || !path.endsWith(".json")) { + return body; + } + + // 정상적인 응답이 있는 경우, String 타입의 빈 응답 처리 + if (body != null && !(body instanceof String && ((String) body).isEmpty())) { + return body; + } + + // Controller 리턴타입이 String 일 때 cannot be cast 에러 대응 + logger.debug("빈 응답 감지, {} 로 변환 시도. 선택된 컨버터: {}", path, selectedConverterType.getSimpleName()); + + if (StringHttpMessageConverter.class.isAssignableFrom(selectedConverterType)) { + return EMPTY_JSON_STRING; // 문자열 "{}" 반환 + } + + return EMPTY_JSON; // Map 객체 반환 } } diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/eaimsg/ApiScopeDto.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/eaimsg/ApiScopeDto.java index 2fe0ff2..9916ce4 100644 --- a/src/main/java/com/eactive/eai/rms/data/entity/onl/eaimsg/ApiScopeDto.java +++ b/src/main/java/com/eactive/eai/rms/data/entity/onl/eaimsg/ApiScopeDto.java @@ -9,6 +9,9 @@ import lombok.Data; @AllArgsConstructor public class ApiScopeDto { + @JsonProperty("EAISVCNAME") + private String eaiSvcName; + @JsonProperty("EAISVCDESC") private String eaiSvcDesc; @@ -20,5 +23,8 @@ public class ApiScopeDto { @JsonProperty("SCOPENAME") private String scopeName; + + @JsonProperty("APIFULLPATH") + private String apiFullPath; } diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/eaimsg/EAIMessageService.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/eaimsg/EAIMessageService.java index 06298a1..4bf2428 100644 --- a/src/main/java/com/eactive/eai/rms/data/entity/onl/eaimsg/EAIMessageService.java +++ b/src/main/java/com/eactive/eai/rms/data/entity/onl/eaimsg/EAIMessageService.java @@ -59,6 +59,8 @@ public class EAIMessageService extends AbstractDataService result = getJPAQueryFactory() .select(Projections.constructor(ApiScopeDto.class , + qEaiMessageEntity.eaisvcname , qEaiMessageEntity.eaisvcdesc , qScopeEntity.id.scopeid , qScopeEntity.id.bzwksvckeyname , - qScopeInfo.scopeName )) + qScopeInfo.scopeName , + qStandardMessageInfo.apifullpath + ) + ) .from(qEaiMessageEntity) .join(qStandardMessageInfo) .on(qEaiMessageEntity.eaisvcname.eq(qStandardMessageInfo.eaisvcname)) @@ -313,19 +320,20 @@ public class EAIMessageService extends AbstractDataService insertApiScopeList(@RequestParam("apiList") String apiListJson, @RequestParam("scopeId") String scopeId) { + + ObjectMapper mapper = new ObjectMapper(); + List apiScopeList = null; + + try { + apiScopeList = mapper.readValue(apiListJson, new TypeReference>(){}); + + } catch (Exception e) { + throw new BizException("데이터 변환 중 오류가 발생했습니다."); + } + + apiScopeManService.insertApiScopeRelationList(apiScopeList, scopeId); + + return ResponseEntity.ok().build(); + } + + @PostMapping(value = "/onl/admin/authserver/apiScopeMan.json", params = "cmd=DELETE") public ResponseEntity deleteApiScope(ApiScopeUI apiScopeUI) { apiScopeManService.deleteApiScopeRelation(apiScopeUI); diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/authserver/scope/ApiScopeManService.java b/src/main/java/com/eactive/eai/rms/onl/manage/authserver/scope/ApiScopeManService.java index b1caa62..fe68165 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/authserver/scope/ApiScopeManService.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/authserver/scope/ApiScopeManService.java @@ -11,6 +11,8 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.eactive.eai.agent.authserver.ReloadApiScopeCommand; +import com.eactive.eai.agent.command.CommonCommand; import com.eactive.eai.rms.common.base.OnlBaseService; import com.eactive.eai.rms.common.spring.LocaleMessage; import com.eactive.eai.rms.data.entity.onl.authserver.ScopeEntityService; @@ -56,10 +58,12 @@ public class ApiScopeManService extends OnlBaseService { private ApiScopeUI convertToApiScopeUI(ApiScopeDto dto) { ApiScopeUI apiScopeUI = new ApiScopeUI(); - apiScopeUI.setEaiSvcDesc(dto.getEaiSvcDesc()); + apiScopeUI.setApiDesc(dto.getEaiSvcDesc()); apiScopeUI.setScopeId(dto.getScopeId()); apiScopeUI.setBzwkSvcKeyName(dto.getBzwkSvcKeyName()); apiScopeUI.setScopeName(dto.getScopeName()); + apiScopeUI.setApiFullPath(dto.getApiFullPath()); + apiScopeUI.setApiId(dto.getEaiSvcName()); return apiScopeUI; } @@ -72,6 +76,32 @@ public class ApiScopeManService extends OnlBaseService { scopeEntityService.save(apiScopeUIMapper.toEntity(apiScopeUI)); } + public void insertApiScopeRelationList(List apiScopeList, String scopeId) { + // ScopeId 기준 전체 삭제 후 LIST 기준으로 저장. + if(scopeId == null || scopeId.isEmpty()) { + throw new BizException("ScopeId 가 존재하지 않습니다."); + } + + scopeEntityService.deleteByIdScopeId(scopeId); + + if(apiScopeList == null || apiScopeList.isEmpty()) { + return; + } + + for (ApiScopeUI ui : apiScopeList) { + ui.setScopeId(scopeId); + + scopeEntityService.save(apiScopeUIMapper.toEntity(ui)); + + CommonCommand.builder() + .name(CommonCommand.RELOAD_API_SCOPE_COMMAND) + .args(new String[] {ReloadApiScopeCommand.COMMAND_TYPE_API_SCOPE, + ui.getBzwkSvcKeyName(), ui.getScopeId()}) + .build() + .broadcast(agentUtilService); + } + } + public void deleteApiScopeRelation(ApiScopeUI apiScopeUI) { scopeEntityService.deleteById(apiScopeUIMapper.toId(apiScopeUI)); } diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/authserver/scope/ApiScopeUI.java b/src/main/java/com/eactive/eai/rms/onl/manage/authserver/scope/ApiScopeUI.java index f1407fd..a213032 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/authserver/scope/ApiScopeUI.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/authserver/scope/ApiScopeUI.java @@ -1,10 +1,14 @@ package com.eactive.eai.rms.onl.manage.authserver.scope; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; +import lombok.NoArgsConstructor; @Data +@NoArgsConstructor // jackson 사용을 위해 추가. +@JsonIgnoreProperties(ignoreUnknown = true) public class ApiScopeUI { @JsonProperty("SCOPEID") @@ -16,7 +20,13 @@ public class ApiScopeUI { @JsonProperty("SCOPENAME") private String scopeName; - @JsonProperty("EAISVCDESC") - private String eaiSvcDesc; + @JsonProperty("apiDesc") + private String apiDesc; + + @JsonProperty("APIFULLPATH") + private String apiFullPath; + + @JsonProperty("apiId") + private String apiId; } diff --git a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceController.java b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceController.java index 0cfa70f..0f21a97 100644 --- a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceController.java +++ b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceController.java @@ -271,10 +271,12 @@ public class ApiInterfaceController extends OnlBaseAnnotationController { } @PostMapping(value = "/onl/transaction/apim/apiInterfaceMan.json", params = "cmd=CLONE") - public ResponseEntity cloneApiInterface(String orgApiInterfaceId, String newBizCode, String newApiInterfaceId, String newInboundHttpMethod, String newInboundRestPath, boolean importDupliCheck) throws BizException { + public ResponseEntity cloneApiInterface(String orgApiInterfaceId, String newBizCode, + String newApiInterfaceId, String newInboundHttpMethod, + String newInboundRestPath, String newSvcDesc, boolean importDupliCheck) throws BizException { try { ApiInterfaceUI orgApiInterfaceUI = service.selectDetail(orgApiInterfaceId); - ApiInterfaceUI apiInterfaceUI = service.cloneApiInterface(orgApiInterfaceUI, newBizCode, newApiInterfaceId, newInboundHttpMethod, newInboundRestPath, importDupliCheck); + ApiInterfaceUI apiInterfaceUI = service.cloneApiInterface(orgApiInterfaceUI, newBizCode, newApiInterfaceId, newInboundHttpMethod, newInboundRestPath, newSvcDesc, importDupliCheck); Map resultMap = reloadSync(apiInterfaceUI); return ResponseEntity.ok(resultMap); } catch(Exception e) { diff --git a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java index f2ac1ee..f46f749 100644 --- a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java +++ b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java @@ -139,6 +139,7 @@ public class ApiInterfaceService extends OnlBaseService { EAIMessageEntity eaiMessageEntity = tuple.get(QEAIMessageEntity.eAIMessageEntity); String apiFullPath = tuple.get(QStandardMessageInfo.standardMessageInfo.apifullpath); + String bzwksvckeyname = tuple.get(QStandardMessageInfo.standardMessageInfo.bzwksvckeyname); ApiInterfaceUI apiInterfaceUI; if (eaiMessageEntity.getServiceMessages() != null && eaiMessageEntity.getServiceMessages().size() > 0) { @@ -148,6 +149,7 @@ public class ApiInterfaceService extends OnlBaseService { } apiInterfaceUI.setApiFullPath(apiFullPath); + apiInterfaceUI.setBzwksvckeyname(bzwksvckeyname); return apiInterfaceUI; }); @@ -1159,7 +1161,7 @@ public class ApiInterfaceService extends OnlBaseService { public ApiInterfaceUI cloneApiInterface(ApiInterfaceUI orgApiInterfaceUI, String newBizCd, String newApiInterfaceId, String newInboundHttpMethod, - String newInboundRestPath, boolean importDupliCheck) throws Exception { + String newInboundRestPath, String newSvcDesc, boolean importDupliCheck) throws Exception { Optional optional = eaiMessageQueryService.findById(newApiInterfaceId); if (optional.isPresent()) { @@ -1173,6 +1175,7 @@ public class ApiInterfaceService extends OnlBaseService { apiInterfaceUI.setEaiBzwkDstcd(newBizCd); settingInterfaceId(apiInterfaceUI, newApiInterfaceId); apiInterfaceUI.setEaiSvcName(newApiInterfaceId); + apiInterfaceUI.setEaiSvcDesc(newSvcDesc); apiInterfaceUI.setInboundHttpMethod(newInboundHttpMethod); apiInterfaceUI.setInboundRestPath(newInboundRestPath); diff --git a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ui/ApiInterfaceUI.java b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ui/ApiInterfaceUI.java index a464377..9f34cc0 100644 --- a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ui/ApiInterfaceUI.java +++ b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ui/ApiInterfaceUI.java @@ -51,6 +51,7 @@ public class ApiInterfaceUI { private List inboundResponseStandardMessageItems ; private String apiFullPath; + private String bzwksvckeyname; //ASYNC-SYNC 용 private String inboundResponseHttpMethod;