diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/ApiSyncCaseRequest.java b/backend/src/main/java/io/metersphere/api/dto/definition/ApiSyncCaseRequest.java index d535b80306..a249db7e87 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/ApiSyncCaseRequest.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/ApiSyncCaseRequest.java @@ -1,5 +1,6 @@ package io.metersphere.api.dto.definition; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.*; import java.util.List; @@ -9,6 +10,7 @@ import java.util.List; @Builder @AllArgsConstructor @NoArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) public class ApiSyncCaseRequest { private Boolean protocol; diff --git a/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java b/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java index 8a3c153505..6a614101d2 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.parser.Feature; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.pagehelper.Page; @@ -1155,6 +1156,7 @@ public class ApiDefinitionService { exApi = existApi; api = apiDefinition; ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); String exApiString = null; String apiString = null; try { diff --git a/frontend/src/business/components/project/menu/appmanage/AppManage.vue b/frontend/src/business/components/project/menu/appmanage/AppManage.vue index cb078dd58b..0d02c018fa 100644 --- a/frontend/src/business/components/project/menu/appmanage/AppManage.vue +++ b/frontend/src/business/components/project/menu/appmanage/AppManage.vue @@ -392,14 +392,16 @@ export default { if (this.config.openUpdateRuleTime) { this.pastUnit = this.config.openUpdateRuleTime.substring(this.config.openUpdateRuleTime.length - 1); this.pastQuantity = this.config.openUpdateRuleTime.substring(0, this.config.openUpdateRuleTime.length - 1); - this.showSyncTimeSetting = true; + if (this.config.openUpdateTime) { + this.showSyncTimeSetting = true; + } } } }); }, openRuleSetting() { this.showRuleSetting = true; - if (!this.apiSyncCaseRequest.protocol) { + if (!this.apiSyncCaseRequest) { this.apiSyncCaseRequest = { protocol: true, method: true, @@ -426,13 +428,13 @@ export default { this.$message.error("请选择时间单位") } this.config.openUpdateRuleTime = this.pastQuantity + this.pastUnit; - configs.push({projectId: this.projectId, typeValue: 'true', type: 'OPEN_UPDATE_TIME'}); configs.push({ projectId: this.projectId, typeValue: this.config.openUpdateRuleTime, type: 'OPEN_UPDATE_RULE_TIME' }); } + configs.push({projectId: this.projectId, typeValue: this.config.openUpdateTime, type: 'OPEN_UPDATE_TIME'}); configs.push({ projectId: this.projectId, typeValue: JSON.stringify(this.apiSyncCaseRequest),