diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/config/JacksonConfig.java b/src/main/java/com/gzzn/omms/msgexchangeapi/config/JacksonConfig.java index 746d550b..7a86cabb 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/config/JacksonConfig.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/config/JacksonConfig.java @@ -6,6 +6,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.annotation.JsonInclude; @@ -18,6 +19,7 @@ public class JacksonConfig { public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.createXmlMapper(false).build(); objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); return objectMapper; } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/ABNDATA.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/ABNDATA.java index 1f9b1f37..d5afb6e1 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/ABNDATA.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/ABNDATA.java @@ -4,8 +4,10 @@ import java.util.List; import javax.xml.bind.annotation.XmlElement; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +@JsonIgnoreProperties(ignoreUnknown = true) public class ABNDATA { @XmlElement(name = "TYPE", required = true) @JsonProperty("TYPE") diff --git a/src/test/java/com/gzzn/omms/msgexchangeapi/controller/FlightsControllerTest.java b/src/test/java/com/gzzn/omms/msgexchangeapi/controller/FlightsControllerTest.java new file mode 100644 index 00000000..690c5a8e --- /dev/null +++ b/src/test/java/com/gzzn/omms/msgexchangeapi/controller/FlightsControllerTest.java @@ -0,0 +1,39 @@ +package com.gzzn.omms.msgexchangeapi.controller; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; + +@RunWith(SpringRunner.class) +@SpringBootTest() +@AutoConfigureMockMvc +public class FlightsControllerTest { + @Autowired + private MockMvc mvc; + + /** + * 测试获取所有航班信息接口 + * @throws Exception + */ + @Test + public void testGetAllFilghts() throws Exception + { + mvc. + perform(get("/all/flights")) + .andExpect(status().isOk()) + .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8)) + .andExpect(jsonPath("$.is_success").value(true)) + .andDo(print()); + } +}