摘要:異常上下文其中為報錯的地方也不是所有類型的都可以使用,要慎重一點,這里遇到要去序列化,然后就報錯了。
異常
java.io.FileNotFoundException: Byte array resource [resource loaded from byte array] cannot be resolved to absolute file path at org.springframework.core.io.AbstractResource.getFile(AbstractResource.java:114) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.alibaba.fastjson.util.FieldInfo.get(FieldInfo.java:453) at com.alibaba.fastjson.serializer.FieldSerializer.getPropertyValueDirect(FieldSerializer.java:110) at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:196) at com.alibaba.fastjson.serializer.JSONSerializer.writeWithFieldName(JSONSerializer.java:304) at com.alibaba.fastjson.serializer.ASMSerializer_1_HttpEntity.write at com.alibaba.fastjson.serializer.ListSerializer.write(ListSerializer.java:126) at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:243) at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:275) at com.alibaba.fastjson.JSON.toJSONString(JSON.java:648) at com.alibaba.fastjson.JSON.toJSONString(JSON.java:590) at com.alibaba.fastjson.JSON.toJSONString(JSON.java:555)上下文
其中file為MultipartFile
MultiValueMap報錯的地方map = new LinkedMultiValueMap (); final String filename = file.getName(); Path path = file.toPath(); map.add("name", filename); map.add("filename", filename); HttpHeaders fileHeaders = new HttpHeaders(); fileHeaders.setContentDispositionFormData("file",filename); ByteArrayResource contentsAsResource = new ByteArrayResource(Files.readAllBytes(path)){ @Override public String getFilename(){ return filename; } }; map.add("file", new HttpEntity<>(contentsAsResource, fileHeaders));
JSON.toJSONString(map)
toJSONString也不是所有類型的都可以使用,要慎重一點,這里遇到file要去序列化,然后就報錯了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/70164.html
摘要:該篇主要以代碼示例為主,因為上不去,看不到這個官方文檔和。因為接下來的底層默認使用的就是。和功能是一致的。區(qū)別是不會拋出異常,而會拋出異常。而解析輸入的文本內容依據默認的解析文本的模式。 Json-smart 該篇主要以代碼示例為主,因為google上不去,看不到Json-smart這個官方文檔和API。故只例舉一些代碼示例。因為接下來的Json-path底層默認使用的就是JsonSm...
摘要:異常拋出但是看一下報錯信息,發(fā)現并不是我們期待的一個錯誤的狀態(tài)碼,而是。所以,我們需要全局異常處理,層拋出異常,直接處理,返回狀態(tài)碼,而不將異常拋給控制器。異常捕獲后,修改測試,期待狀態(tài)碼為,。 控制器測試 還是上次數據不能為空的問題,寫到了C層測試。 先寫一行測試代碼,先期待一個200,但是我們是知道的,因為沒有學科類別,這肯定會拋出異常,我們就是想看看Spring捕獲這個異常之后給...
摘要:前言記錄前后端分離的系統(tǒng)應用下應用場景用戶信息傳遞需求緣起照例先看看系統(tǒng)的一張經典架構圖,這張圖參考自網絡在自定義異常,你是怎么處理的中已經對該架構做了簡單說明,這里不再描述。 showImg(https://segmentfault.com/img/remote/1460000017839927?w=1024&h=768); 前言 記錄前后端分離的系統(tǒng)應用下應用場景————用戶信息傳...
摘要:異步處理方式調用之后,不返回任何數據。在有返回值的異步調用中,異步處理拋出異常,會直接拋出異常,異步任務結束,原有處理結束執(zhí)行。 1.使用背景 在項目中,當訪問其他人的接口較慢或者做耗時任務時,不想程序一直卡在耗時任務上,想程序能夠并行執(zhí)行,我們可以使用多線程來并行的處理任務,也可以使用spring提供的異步處理方式@Async。 2.異步處理方式 調用之后,不返回任何數據。 調用之...
閱讀 1635·2021-11-17 09:33
閱讀 1330·2021-10-11 10:59
閱讀 2973·2021-09-30 09:48
閱讀 1976·2021-09-30 09:47
閱讀 3098·2019-08-30 15:55
閱讀 2401·2019-08-30 15:54
閱讀 1549·2019-08-29 15:25
閱讀 1712·2019-08-29 10:57