springBoot 学习记录(二)-返回json数据的几种方式

Javaweb/SpringBoot/SpringCloud/SpringCloud Alibaba后端的返回值类型 前言 在很久以前,写过一篇关于Web开发中的 Model、ModelMap和ModelAndView的使用详解,当时也是本着一个记录的心情去写的,所以尽量通俗,没想到,截止到目前,仍然有很多小伙伴在阅读和学习这篇文章,这让笔者想到,不管是现在科技怎么发达,依然会有很多初学者,于是,就出了这篇扫盲文。 目前SpringBoot框架的风头已经超过了当初的SSM框架,很多小伙伴甚至已经跳过了对SSM的学习,笔者还是建议去学习一下SSM,毕竟会SSM的人一定会SpringBoot,学习还是从基础来的好。 在Sp 阅读详情

一:新建maven项目

pom.xml 代码:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.phpfzh2</groupId>
  <artifactId>spring-boot01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  
  <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.RELEASE</version>
</parent>
  
  
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.20</version>
</dependency>


</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>


启动类App代码:

package com.phpfzh;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class ApplicationTest {


public static void main(String[] args) {
SpringApplication.run(ApplicationTest.class, args);
}
}



实体类代码:

package com.phpfzh.mode;


import java.math.BigDecimal;


public class User {


private BigDecimal id;
private String username;
private String sex;


public BigDecimal getId() {
return id;
}


public void setId(BigDecimal id) {
this.id = id;
}


public String getUsername() {
return username;
}


public void setUsername(String username) {
this.username = username;
}


public String getSex() {
return sex;
}


public void setSex(String sex) {
this.sex = sex;
}
 }


第一种方式@RestController:

package com.phpfzh.web;


import java.math.BigDecimal;


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


import com.phpfzh.mode.User;


@RestController
public class TestController {


@RequestMapping("/")
  public User test(){
User user = new User();
user.setId(new BigDecimal(12));
user.setSex("12");
user.setUsername("phpfzh");
return user;
}
}


运行项目:

右击项目 点击 run As   ==> Maven clear    ====> maven install  

 右击项目 点击 run As ===> java application ===》 在浏览器输入:localhost:8080/ 

输出:

{"id":12,"username":"phpfzh","sex":"12"}







第二种方式@ResponseBody:

package com.phpfzh.web;


import java.math.BigDecimal;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


import com.phpfzh.mode.User;


@Controller
public class TestController2 {


@ResponseBody
@RequestMapping("/test2")
public User test2(){
User user = new User();
user.setId(new BigDecimal(12));
user.setSex("12");
user.setUsername("phpfzh-test2");
return user;
}
}


运行项目:

右击项目 点击 run As   ==> Maven clear    ====> maven install  

 右击项目 点击 run As ===> java application ===》 在浏览器输入:localhost:8080/test2 

浏览器输出:

{"id":12,"username":"phpfzh-test2","sex":"12"}






第三种方式response:

在pom.xml 添加 阿里巴巴json jar包:

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.20</version>
</dependency>


Controller代码:

package com.phpfzh.web;


import java.io.PrintWriter;
import java.math.BigDecimal;


import javax.servlet.http.HttpServletResponse;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;


import com.alibaba.fastjson.JSON;
import com.phpfzh.mode.User;


@Controller
public class TestController3 {


@RequestMapping("/test3")
  public String test(HttpServletResponse response){
User user = new User();
user.setId(new BigDecimal(12));
user.setSex("12");
user.setUsername("phpfzh-test3");
String date = JSON.toJSONString(user);
try {
sendJsonData(response, date);
} catch (Exception e) {
  e.printStackTrace();
}
return null;
}

protected void sendJsonData(HttpServletResponse response, String data)
throws Exception
{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println(data);
out.flush();
out.close();
}
}


运行项目:

右击项目 点击 run As   ==> Maven clear    ====> maven install  

 右击项目 点击 run As ===> java application ===》 在浏览器输入:localhost:8080/test3 

浏览器输出:

{"id":12,"sex":"12","username":"phpfzh-test3"}


两点调制原理以及RF DAC和PLL SDM两条输入路径理解 特性数据本质原始数字比特流 (0/1)平滑后的预失真波形数据连接对象Σ-Δ调制器 (SDM)的小数输入RF DAC在系统中的角色主调制路径:通过改变PLL分频比产生频率偏移辅助补偿路径:通过RF DAC产生补偿电压,校正PLL失真可否加入延时可以且必须。用于数字时序对齐,对性能无影响。绝对不可以。会导致补偿失配,严重破坏信号频谱。功能目标实现数字域的频率调制确保模拟域的波形和频谱完美因此,在您所描述的这种先进发射机架构中,2-point数据是数字指令,送给SDM; 阅读详情

相关推荐

别再自己写组件了!用uni-app的midButton属性5分钟搞定中间凸起TabBar(H5/小程序通用)

本文详细介绍了uni-app官方提供的midButton属性,帮助开发者5分钟内实现中间凸起的TabBar效果,无需编写繁琐的自定义组件代码。该方案兼容H5和微信小程序平台,配置简单且维护成本低,大幅提升开发效率和性能表现。

weixin_30431445的博客 347

SpringBoot (二) --- 返回Json数据

SpringBoot的学习之旅~

qq_54103767的博客 9490

华为P30/pro (ELE-AL00) 鸿蒙4.2降级 EMUI 9

分享

m0_52356707的博客 1万+

Spring Boot 返回Json数据

返回Json数据

探索er的博客 9314

映泰TB250-BTC主板魔改BIOS支持8/9代CPU实战与开机故障排查

BIOS(基本输入输出系统)是计算机硬件与操作系统之间的桥梁,负责初始化硬件和提供运行时服务。其工作原理是通过存储在主板芯片中的固件程序,在上电自检(POST)阶段完成对CPU、内存等关键组件的检测与配置。魔改BIOS的技术价值在于突破硬件限制,通过修改微码和电源管理模块,让旧平台支持新处理器,从而以极低成本实现性能跃升,在预算有限或追求极致性价比的DIY、办公和软路由等应用场景中极具吸引力。本文以映泰TB250-BTC矿板为例,详细解析了通过软刷方式刷入魔改BIOS,并重点解决了刷写后常见的“开机风扇转一

weixin_29164185的博客 405

在Unity3d使用yolov8的onnx模型

输出OUTPUTS是float32[1,35,8400],表示它会输出一个大小为[1, 35, 8400]的浮点数张量。这个输出张量的维度表示了检测到的目标的数量、每个目标的预测参数以及网格单元的数量。输出张量的第一个维度1表示检测到的目标数量。每个目标由35个值组成,表示目标的类别、置信度、边界框的坐标及10个特定点的位置。要取得8400个数据中置信度最高的数据,然后获取该数据其他channel的数据。运行结果:(蓝色是检测手的边框,红点是自定义的点),其中的四个数字分别表示不同的维度。

shenqingyu0605202324的博客 5601

用response向页面传递json类型数据

服务器端: response.ContentType="application/json" response.getWriter().write("{result:'"+Result["Name"]+",你好!}"); jquery代码: $.post( "action" function(data) { aler

aaa1117a8w5s6d的专栏 1万+

由ip地址和子网掩码求网络号、主机号、广播地址(超详细)

1、用二进制数表示IP地址   在进行计算之前,我们首先要学会十进制的IP地址怎么转换为二进制的IP地址。   给出一个例子: 十进制:172.16.25.3 二进制:10101100.00010000.00011001.00000011 1、如果两台主机的网络号相同,我们就说它们是同一网段 2、主机号的意义 - 1)主机号部分全变成1,即为该网段的广播地址 - 2)主机号部分全变成0,即为该网段的网路地址(网络号) 3、如果主机号部分为x位,则该网络能容纳最大主机数为: 2的x次方-2。减2

爱吃雪糕的小布丁的博客 9万+

Spring Boot 返回 Json 数据

由于封装的 json 数据的类型不确定,所以在定义统一的 json 结构时需要用到泛型。统一的 json 结构中属性包括数据、状态码、提示信息即可,构造方法可以根据实际业务需求做相应的添加即可,一般来说,应该有默认的返回结构,也应该有用户指定的返回结构。//需要传递的数据//用户自定义相应码,注意不是服务器响应状态码。如果不需要传递详细信息还可以使用 boolean success;// 服务器回传信息。

我的博客 3374

嵌入式软考必备知识点:嵌入式系统开发中的重要概念和示例代码

在嵌入式软考中,有一些重要的知识点需要掌握,包括嵌入式系统的基本概念、编程语言、实时操作系统和硬件接口等。实时操作系统是一种专门设计用于嵌入式系统的操作系统,可以提供对任务调度、中断处理和资源管理等方面的支持。GPIO(通用输入输出):GPIO是嵌入式系统中常用的硬件接口,用于连接外部设备和嵌入式系统。以上是嵌入式软考中的一些必备知识点,包括嵌入式系统的基本概念、编程语言、实时操作系统和硬件接口。通过配置串口的波特率、数据位数和校验位等参数,可以实现与其他设备的可靠通信。一、嵌入式系统的基本概念。

PixeGO的博客 312

基于STM32L4XX、HAL库的YT8531C-CA以太网收发器(PHY)驱动程序设计

是一款由裕太微推出的高性价比、低功耗的单端口 10/100M 以太网物理层收发器(PHY)。它通过标准的 MII(介质独立接口)或 RMII(精简介质独立接口)与微控制器的 MAC 层连接,实现将数字信号与网络模拟信号之间的转换。支持自动协商(Auto-Negotiation),自动选择最高速率和双工模式。支持 HP Auto-MDIX(自动交叉直连),无需区分直通线或交叉线。低功耗设计,特别适合电池供电或对功耗敏感的 STM32L4 应用。支持 MII 和 RMII 接口,节省引脚(RMII模式)。

zhusl6688的博客 627

Spring Boot返回JSON数据(三种方式)

Spring Boot返回JSON数据(三种方式) 默认实现 使用Gson 使用fastjson 1. 默认实现 ​ spring-boot-starter-web依赖默认加入了jackson-databind作为json处理器,此时不需要添加额外的JSON处理器就能返回一段JSON了。 ​ 创建一个Book实体类: package com.itlearn.springboot06json.beans; import com.fasterxml.jackson.annotation.JsonForma

Eternal_Summer 2万+

第201期 解锁科研效率新高度:Claude 科学技能插件(claude-scientific-skills)深度体验

科研AI助手Claude Scientific Skills开源工具为Claude大模型扩展科学能力,覆盖数据可视化、数学计算、学术格式处理等科研全流程需求。该插件支持LaTeX公式生成、自动化科研图表绘制、学术文档规范校正等功能,让研究人员通过自然语言指令即可完成专业任务。项目开源可定制,支持特定学科需求扩展,目前已托管于GitHub。使用门槛低,只需配置Claude API密钥即可快速启用,帮助科研人员从繁琐技术细节中解放,聚焦核心研究创新。

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 1357

深入探索Spring Boot基础功能(二):JSON数据处理与日志记录

大家好,我是默语,一个热爱技术分享的博主。今天我们将深入探讨Spring Boot的基础功能,包括如何处理JSON数据和使用slf4j进行日志记录。这篇博客将详细介绍Spring Boot在这些方面的强大能力,通过实际代码案例演示,为大家提供实用的开发技巧。希望这篇文章能为你的Spring Boot学习之旅提供有价值的参考。✨通过上述内容,我们了解了如何在Spring Boot中处理JSON数据,以及如何使用不同的JSON库进行数据序列化。统一的数据返回结构有助于接口的维护和使用。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 2万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Springboot 2.x fastJson 返回json数据中null字段不显示解决方法

使用 fastJson 返回json数据前端时候,value为null 时,字段名会被fastJson 自动过滤 记录一下值为null不过滤的几种办法: 实体类中字段加上对应注解 @JSONField(serialzeFeatures= {SerializerFeature.WriteMapNullValue}) private String openId; 在properties...

qq_36174487的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

springboot下controll层的返回值详解——学习记录。

最近在练手springboot项目,在controll层和页面进行数据交互时发controll层返回数据的方法有很多种,为了防止以后忘记那些不常用的,我就写个博客,把我知道的常用不常用的都记录下来。 controll层的返回值有两种:一种是返回页面,一种是返回json数据。 返回页面,使用注解@RequestMapping,返回页面的路径和名称跳转到对应页面。 @Controller publ...

ChuXinstyle的博客 1894

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【SpringBoot 2学习笔记】《二》封装统一的接口返回格式

在各种中台、微服务、分布式等互联网概念盛行的今天,部门承接的项目也逐渐开始采用的微服务框架,前后端分离方式。现在的软件开发,随着前后端任务的细分,相应的工作职责也就越来越清晰。现在项目开发的前端的技术栈和相应的生态圈都已经相当成熟,前端开发人员随之走俏,地位也越来越高。 新开发系统中融合各种微应用的方式来构建生态系统,所以使用SpringBoot2对原有的产品按照微服务的模式进行拆分重构,本文主...

黑白猿的琐碎日常 9560

springboot+mybatis登录注册功能返回json

基于springboot和mybatis框架实现登录注册功能返回json 开发环境 开发工具:idea2019.3 jdk:1.8 数据库:mysql5.7 springboot:2.2.6 postman 数据库表 DROP TABLE IF EXISTS `usermessage`; CREATE TABLE `usermessage` ( `id` int(20) NOT NULL ...

glc11223344的博客 2363

SpringBoot中如何处理MySQL中存储的JSON数据?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。它易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

路漫漫其修远兮,吾将上下而求索 5194

springboot中自定义JavaBean返回的json对象属性名称大写变小写问题

springboot中自定义JavaBean返回的json对象属性名称大写变小写问题

忆~遂愿的博客 4869

SpringBoot项目全局处理接口返回JSON数据

我们在提供 API json 数据接口时每个接口都需要返回 {code : 0,status:200,message:"",result:{} }之类的数据这些数据是重复的,我们可以利用Spring的AOP 去添加这些数据,Controller 中只返回有用的数据,如参数之类的错误可以直接返回null ,如有需要提示APP页面弹出的信息,直接加入到 result json 对象中 交给AOP 去格...

kisslongge00的博客 1644

SpringBoot+Mybatis将数据库中的数据以JSON树形格式返回给前端

想着从数据库读取数据,以json树形格式返回到前端。中间遇到些小插曲,idea中有些依赖包莫名其妙就不见了,搞了很久后面重新导入依赖包才运行成功。记录一下今天的所学吧~话不多说,直接开干! 目录1.数据库建表: (id:自身节点编号 pid:父节点编号 name:节点名称) 2.实体类pojo: 3. dao层:4. *.xml文件:5.Service接口:6.Service实现类:7.Controller层:8.运行结果:

m0_64587776的博客 2618

SpringBoot接收前端数据的几种常用方式

1.@PostMapping请求实现添加 在实现添加时,前台一般会传一个json对象给后台,这个对象不能直接使用,需要进行转化,使用@RequestBody注解即可实现。 addPost() { if (this.post.name == null || this.post.name == "") { this.$message.error('职位不能为空!'); } else {

qq_36109477的博客 6713

Spring Boot 返回 JSON 数据;@ExceptionHandler

以上代码可以用来处理全局异常:使用@RestControllerAdvice + @ExceptionHandler 注解能够处理全局异常,即可以根据不同的异常对不同的异常进行处理,当抛出异常时,处理器会记录请求的URI和异常信息,并返回一个包含错误状态码和错误信息的AjaxResult对象。所以兔子的本质是流浪,茅草编织了我的天空,远方是我的故乡,水泥路铺好了我的床,颜料浇灌了我的花朵,第一天他们说好久不见……Spring Boot 里面,使用@ExceptionHandler做异常捕获,代码如下。

2302_80640497的博客 657

springboot(或springmvc)中后端返回json用法

springboot(或springmvc)中后端返回json用法 使用步骤: * 1、导入Jackson依赖 * 2、配置Jason乱码问题 * 3、创建ObjectMappper 对象 * 4、将对象转成Json是字符串 * 1、导入Jackson依赖 <!--json依赖--> <dependency> <groupId>com.fasterxml.jackson.core</groupId>

quhongjuan12的博客 422

SpringBoot如何优雅的处理所有的异常接口返回值为JSON

当调用接口后,执行的代码发生了异常,通常就会返回如下页面通过配置后,可以对所有的异常接口进行处理,返回如下的Json返回子更加美观,也方便查找错误格式化后。

weixin_47053123的博客 875
上一篇: jwt 的签发 和 jwt 的验证
下一篇: liunx系统配置同时运行多个tomcat
phpfzh
博客等级 码龄10年 22粉丝 102原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值