【每天填坑一點點】(一)---為app寫介面 儘量不返回給前端null 解決方法
今天前端說,返回給前端太多的null,會導致app閃退。
找的解決方案,作如下配置:我們專案用的是spring-boot。
第一種:當返回前端null的時候,便不再返回該欄位
(1)在bean上面加註解
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)
(2)在配置檔案中加註解
spring:
jackson:
default-property-inclusion: non_null
第二種:當需要返回null的時候,返回“”
package com.dingyi.configuration; import com.alibaba.fastjson.serializer.SerializeConfig; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.ToStringSerializer; import com.alibaba.fastjson.serializer.ValueFilter; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import java.math.BigInteger; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; /** * fastjson配置類 * * @author fengshuonan * @date 2017-05-23 22:56 */ @Configuration("defaultFastjsonConfig") @ConditionalOnClass(com.alibaba.fastjson.JSON.class) @ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) @ConditionalOnWebApplication public class DefaultFastjsonConfig { @Bean public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() { FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); converter.setFastJsonConfig(fastjsonConfig()); converter.setSupportedMediaTypes(getSupportedMediaType()); return converter; } /** * fastjson的配置 */ private FastJsonConfig fastjsonConfig() { FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures( SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.PrettyFormat, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullBooleanAsFalse, SerializerFeature.WriteEnumUsingToString ); fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); ValueFilter valueFilter = (o, s, o1) -> { if (null == o1) { o1 = ""; } return o1; }; fastJsonConfig.setCharset(Charset.forName("utf-8")); fastJsonConfig.setSerializeFilters(valueFilter); //解決Long轉json精度丟失的問題 SerializeConfig serializeConfig = SerializeConfig.globalInstance; serializeConfig.put(BigInteger.class, ToStringSerializer.instance); serializeConfig.put(Long.class, ToStringSerializer.instance); serializeConfig.put(Long.TYPE, ToStringSerializer.instance); fastJsonConfig.setSerializeConfig(serializeConfig); return fastJsonConfig; } /** * 支援的mediaType型別 */ private List<MediaType> getSupportedMediaType() { ArrayList<MediaType> mediaTypes = new ArrayList<>(); mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); return mediaTypes; } }
相關推薦
【每天填坑一點點】(一)---為app寫介面 儘量不返回給前端null 解決方法
今天前端說,返回給前端太多的null,會導致app閃退。找的解決方案,作如下配置:我們專案用的是spring-boot。第一種:當返回前端null的時候,便不再返回該欄位(1)在bean上面加註解import com.fasterxml.jackson.annotation.
【每天積累一點點】Humans of New York
“I got divorced when I was sixty-four. We had a good run. We were married for 36 years. We’re not enemies.We just outgrew each other. When the kids
【每天積累一點點】BottomNavigationView使用教程
一:基本用法 1:在res/menu目錄下定義選單佈局: <?xml version="1.0"encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/andr
【每天積累一點點】Data Binding Library官方教程翻譯
Data Binding Library This document explains how to use the Data Binding Library to writedeclarative layouts and minimize the glue code necessary to
【每天積累一點點】將PopupWindow顯示在指定位置
//以想在控制元件tvMl的右下角顯示PopupWindow為例(popupWindow的右上角在tvMl的右下角) View popPhotoView = LayoutInflater.from(this).inflate(R.layout.popup_ml_choos
【每天進步一點點】存放平時遇到的問題資料,有需要的儘管拿走。
資料宣告: 部分文章為尋找問題時在網上轉載,在此部落格中做個記錄,方便自己也方便有類似問題的朋友。部分出處已經標明,沒未指明出處文章如有侵權,請發郵件或DM表明文章和原出處地址,我一定在文章中註明。謝謝。
【cocos2d-js官方文檔】一、搭建 Cocos2d-JS 開發環境
tin oca ins index com 前沿 雙擊 指定 轉載 在本文中,我將展示如何在 Mac os 10.9(Maverics) 上搭建 Cocos2d-JS 開發環境。 下載必備的軟件包 下載並安裝WebStorm7。WebStorm7目前的穩定版本是7.0.
【BZOJ5248】【九省聯考2018】一雙木棋(搜索,哈希)
count const 一個 body 如果 直接 一個人 沒有 span 【BZOJ5248】【九省聯考2018】一雙木棋(搜索,哈希) 題面 BZOJ Description 菲菲和牛牛在一塊n行m列的棋盤上下棋,菲菲執黑棋先手,牛牛執白棋後手。棋局開始時,棋盤上沒有任
【牛客網刷題】一次難忘的編程教訓
最小 應該 結果 uid == break 怎麽辦 切分 sum 昨天刷這樣一道編程題: --------------------------------------------------------------------------------------------
【牛客網刷題】一次難忘的程式設計教訓
昨天刷這樣一道程式設計題: -------------------------------------------------------------------------------------------------- 求連續子陣列的最大和。 一個非空整數陣列,選擇其中的兩個位置,使得兩個位置
【機器學習經典演算法梳理】一.線性迴歸
【機器學習經典演算法梳理】是一個專門梳理幾大經典機器學習演算法的部落格。我在這個系列部落格中,爭取用最簡練的語言、較簡潔的數學公式,和清晰成體系的提綱,來盡我所能,對於演算法進行詳盡的梳理。【機器學習經典演算法梳理】系列部落格對於機器學習演算法的梳理,將從“基本思想”、“基本形式”、“過程推導”、“
【GPU精粹與Shader程式設計】(一) 開篇 & 全系列11本書核心知識點總覽
系列文章前言 《GPU Gems》1~3 、《GPU Pro》1~7 以及《GEM Zen》組成的GPU精粹系列書籍,是遊戲開發、計算機圖形學和渲染領域的業界大牛們優秀經驗的分享合輯彙編,是江湖各大武林門派絕學經典招式的精華薈萃,可謂遊戲開發、圖形學和渲染領
【本人禿頂程式設計師】一次FastDFS併發問題的排查經歷
←←←←←←←←←←←← 我都禿頂了,還不點關注! 前一段時間,業務部門同事反饋在一次生產伺服器升級之後,POS消費上傳小票業務偶現異常,上傳小票業務有重試機制,有些重試三次也不會成功,他們排查了一下沒有找到原因,希望架構部幫忙解決。 公司使用的是FastDFS來做的圖片伺服器,生產
【BZOJ5248】【九省聯考2018】一雙木棋(搜尋,雜湊)
題面 BZOJ Description 菲菲和牛牛在一塊n行m列的棋盤上下棋,菲菲執黑棋先手,牛牛執白棋後手。棋局開始時,棋盤上沒有任何棋子, 兩人輪流在格子上落子,直到填滿棋盤時結束。落子的規則是:一個格子可以落子當且僅當這個格子內沒有棋子且 這
【cocos2d-js官方文件】一、搭建 Cocos2d-JS 開發環境
在本文中,我將展示如何在 Mac os 10.9(Maverics) 上搭建 Cocos2d-JS 開發環境。 下載必備的軟體包 下載並安裝WebStorm7。WebStorm7目前的穩定版本是7.0.3。為什麼我們選擇WebStorm?因為它提供了許多功能,如Jav
微信小遊戲填坑之路(一)
1、註冊微信小程式賬號 http://mp.weixin.qq.com 2、下載開發工具 3、新建專案,選擇小程式 4、選好目錄、填寫專案名稱、可選是否建立demo或是空專案啟動 5、若不選擇“建立普通快速啟動模板”會提示如下 在目錄下新建game.jsongame.
微信小程式填坑之路(一):text空格符號以及省略號
1、text的空格符 首先需要設定<text> 控制元件的decode值 decode可以解析的有 < > & &
【Git、GitHub、GitLab】一 Git安裝與Git最小配置
Git學習開始,雖然只是工具。 文章目錄 1 Git安裝 2 檢查Git安裝版本 3 Git的最小配置 4 git config的其它作用域 5 總結
【Python資料探勘課程】一.安裝Python及爬蟲入門介紹
最近因為需要給大資料金融學院的學生講解《Python資料探勘及大資料分析》的課程,所以在這裡,我將結合自己的上課內容,詳細講解每個步驟。作為助教,我更希望這門課程以實戰為主,同時按小組劃分學生,每個小組最後都提交一個基於Python的資料探勘及大資料分析相關
【安卓-自定義佈局】安卓App開發思路 一步一個腳印(十)實現內嵌在app中的webview 騰訊開源X5 高效安全
實現內嵌在app中的webview 採用騰訊開源X5 高效安全 webview在app的使用中,十分頻繁,原生的webview載入速度相對來說很慢,而且很費流量。騰訊開源了x5的webview