From 0b04cd94471f4132a0d05a8ed126fa1fdc2be40f Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Sun, 28 Apr 2019 15:16:03 +0800 Subject: [PATCH] =?UTF-8?q?json=20=E5=BA=8F=E5=88=97=E5=8C=96=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E3=80=82=E5=BF=BD=E7=95=A5=E4=B8=8D=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E5=AD=97=E6=AE=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../msgexchangeapi/config/JacksonConfig.java | 2 + .../msgexchangeapi/entity/msg/ABNDATA.java | 2 + .../controller/FlightsControllerTest.java | 39 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 src/test/java/com/gzzn/omms/msgexchangeapi/controller/FlightsControllerTest.java 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()); + } +}