第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Junit 測試中 LocalDateTime 的反序列化問題

Junit 測試中 LocalDateTime 的反序列化問題

忽然笑 2022-08-03 15:37:29
我在測試中反序列化時遇到問題。我有簡單的返回一些對象。當(dāng)我調(diào)用我的端點時,響應(yīng)沒有問題 - 它是正確的。然后我嘗試編寫單元測試,獲取并使用它轉(zhuǎn)換為我的對象。但我仍然收到:LocalDateTimeJunitREST APIDTOMvcResultObjectMapperDTOcom.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.time.LocalDateTime` out of START_ARRAY token at [Source: (String)"{"name":"Test name","firstDate":[2019,3,11,18,34,43,52217600],"secondDate":[2019,3,11,19,34,43,54219000]}"; line: 1, column: 33] (through reference chain: com.mylocaldatetimeexample.MyDto["firstDate"])我正在嘗試并添加到我的,但我使用所以它參與其中。我不知道如何解決它。我下面的簡單端點和單元測試:@JsonFormatcompile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.9.8'build.gradleSpring Boot 2.1.3.RELEASE@RestController@RequestMapping("/api/myexample")public class MyController {    @GetMapping("{id}")    public ResponseEntity<MyDto> findById(@PathVariable Long id) {        MyDto myDto = new MyDto("Test name", LocalDateTime.now(), LocalDateTime.now().plusHours(1));        return ResponseEntity.ok(myDto);    }}我的課程public class MyDto {    private String name;    private LocalDateTime firstDate;    private LocalDateTime secondDate;// constructors, getters, setters}單元測試public class MyControllerTest {    @Test    public void getMethod() throws Exception {        MyController controller = new MyController();        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(controller).build();        MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/api/myexample/1"))                .andExpect(MockMvcResultMatchers.status().isOk()).andReturn();        String json = mvcResult.getResponse().getContentAsString();        MyDto dto = new ObjectMapper().readValue(json, MyDto.class);        assertEquals("name", dto.getName());    }}
查看完整描述

1 回答

?
慕容森

TA貢獻1853條經(jīng)驗 獲得超18個贊

在測試類中創(chuàng)建新的:ObjectMapper

MyDto dto = new ObjectMapper().readValue(json, MyDto.class);

嘗試從上下文注入或手動注冊模塊:ObjectMapperSpring

mapper.registerModule(new JavaTimeModule());

另請參閱:


查看完整回答
反對 回復(fù) 2022-08-03
  • 1 回答
  • 0 關(guān)注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號