javascript
Springboot拼接实体类里面的URL
繼上次做微信小程序時解決拼接圖片路徑的問題之后,這次做音樂的接口又遇到了很類似上次的問題。感覺不是很難,但是一時想不到如何解決。由于他返回的數據類似于List<Map<String,Object>>這種格式的。我也發帖,咨詢過大佬,大佬提供了這么一個思路,但是被我一眼就否了。
for (Map<String, Object> m : yourlist) { //遍歷listString url = (String)m.get(“murl”); //從map取出murlurl = “xxx地址” + url; //前面拼接地址m.put(“murl”, url); //再放回map }乍一看可行,實際上類型根本就不對,List里面的泛型是個對象,寫Map<String,Object>肯定會報錯。很煩,于是我找了大佬來幫我解決這個問題,大佬寫了幾串代碼之后,就讓我無地自容了。
@ResponseBody@RequestMapping(value = "/findMusicList",method = RequestMethod.GET)public List<TMusic> findMusicList(){List<TMusic> list=tUserService.findMusicList();for (TMusic m:list){String murl=m.getMurl();m.setMurl(LocalNetUtils.natApp+murl);//LocalNetUtils.natApp是調用其他類的靜態常量}return list;}看完之后唯一的感悟就是簡單,就像他嘴里說的那么簡單一樣的簡單,可是想想又覺得自己是真不可能寫得出來。這里給的泛型就是我定義的對應的一個實體類,循環獲取實體里面的murl,然后再重新set返回。
其他的方法
一、其實在這之前,我也咨詢了我的朋友,他讓我改實體類里面的get/set方法。于是我就在實體里面改了,這里其實和上面大佬給的方法可以說是一致的,不同之處在于作用域。我朋友給的方法是真的把實體類給改了,其弊端就是如果以后在其他場景需要調用它會有問題(代碼就不做展示了,就是更改set里面的murl,this.setmurl=LocalNetUtils.natApp+murl)。
二、就是將未拼接好的數據直接傳給前端,前端在循環的時候把需要的字符拼接上去循環,也同樣可以實現效果(這是最不推薦的,人前端估計也不會樂意干這樣的事)。
總結
以上是生活随笔為你收集整理的Springboot拼接实体类里面的URL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【移植Linux 3.4.2内核第三步】
- 下一篇: spark on yarn 部署问题