java - spring 注解 @ResponseBody 返回JSON 能不能设置他不返回为 null 的值
PHP中文网
PHP中文网 2017-04-17 13:09:16
[Java讨论组]

spring 注解 @ResponseBody 返回 JSON 能不能设置他不返回为 null 的值

java    @RequestMapping(value="/{username}",method=RequestMethod.GET,params="json")
    @ResponseBody
    public User show(@PathVariable String username) {
        return users.get(username);
    }
PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
巴扎黑

设置jackson忽略null

<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                    <property name="serializationInclusion">
                        <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value>
                    </property>
                </bean>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>
高洛峰

可以在页面显示的时候使用三目,读取如果是null就输出空字符

黄舟

最好是在业务编码层面去控制,别在统一入口MappingJackson2HttpMessageConverter控制,在这控制就是一刀切的做法,当你有另外一个场景需要返回null的时候就头疼了。

@RequestMapping(value="/{username}",method=RequestMethod.GET,params="json")
@ResponseBody
public User show(@PathVariable String username) {
    User user = users.get(username);
    return user == null ? new User() : user; // 这里只要为null的时候,返回一个空的对象即可
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号