当前位置: 首页 > news >正文

php 开源cms 企业网站西安网站建设方案外包

php 开源cms 企业网站,西安网站建设方案外包,网站建设虚拟服务器,网站建设方案功能1. 前言 在实际开发过程中,前端的下拉框或者单选按钮的内容通常的需要和后端匹配的,故一般会由后端将下拉框的内容或单选框的内容传给前端,而这些内容在后端一般是由枚举类存储的,如果后端直接返回枚举类,返回结果将会…

1. 前言

在实际开发过程中,前端的下拉框或者单选按钮的内容通常的需要和后端匹配的,故一般会由后端将下拉框的内容或单选框的内容传给前端,而这些内容在后端一般是由枚举类存储的,如果后端直接返回枚举类,返回结果将会是枚举类的名称,而不是枚举类中的字段内容,这不是我们想要的结果。

2. 示例代码:

2.1 controller

package com.suhuamo.test.controller;import com.suhuamo.test.enums.OpenStatusEnum;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author suhuamo* @date 2024-05-26* @slogan U R MY SPECIAL* @description*/
@RestController
@RequestMapping("/test")
public class TestController {/*** 获取当前开关状态* @return OpenStatusEnum* {@link com.suhuamo.test.enums.OpenStatusEnum}* @version 1.0* @author suhuamo*/@GetMapping("/open-status/now")public OpenStatusEnum getOpenStatus(){return OpenStatusEnum.OPEN;}
}

2.2 enum代码

package com.suhuamo.test.enums;import lombok.Getter;/*** @author suhuamo* @date 2024-05-26* @slogan 五秒钟内说出三个你爱的人的名字...5..4..3..2..1..你是不是没有说自己,也要爱自己哦。* @description 开关状态枚举类*/
@Getter
public enum OpenStatusEnum {CLOSE(0, "关闭"),OPEN(1, "开启");/*** 类型*/private final Integer type;/*** 描述*/private final String desc;OpenStatusEnum(Integer type, String desc) {this.type = type;this.desc = desc;}public Integer getType() {return type;}public String getDesc() {return desc;}/*** 根据类型获取枚举,当无该类型时,返回null** @param type* @return OpenStatus*/public static OpenStatusEnum getByType(Integer type) {for (OpenStatusEnum itemEnum : OpenStatusEnum.values()) {if (itemEnum.getType().equals(type)) {return itemEnum;}}return null;}
}

3. 目前输出效果

在浏览器中输入:localhost:{端口}/test/open-status/now即可访问。【我配置的项目端口是8888,故端口输入的是8888
image.png

4. 解决办法

在枚举类上添加注解 @JsonFormat(shape = JsonFormat.Shape.OBJECT)
即枚举类的代码修改为:

package com.suhuamo.test.enums;import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;/*** @author suhuamo* @date 2024-05-26* @slogan 五秒钟内说出三个你爱的人的名字...5..4..3..2..1..你是不是没有说自己,也要爱自己哦。* @description 开关状态枚举类*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
@Getter
public enum OpenStatusEnum {CLOSE(0, "关闭"),OPEN(1, "开启");/*** 类型*/private final Integer type;/*** 描述*/private final String desc;OpenStatusEnum(Integer type, String desc) {this.type = type;this.desc = desc;}public Integer getType() {return type;}public String getDesc() {return desc;}/*** 根据类型获取枚举,当无该类型时,返回null** @param type* @return OpenStatus*/public static OpenStatusEnum getByType(Integer type) {for (OpenStatusEnum itemEnum : OpenStatusEnum.values()) {if (itemEnum.getType().equals(type)) {return itemEnum;}}return null;}
}

5. 解决后输出效果

image.png

6. 复盘结论

  1. 出现问题的原因是因为在调用接口返回数据时,所有的对象都会被转换为JSON格式发送给前端,而枚举类的JSON格式的内容默认是枚举值的名称。
  2. 加上注解@JsonFormat(shape = JsonFormat.Shape.OBJECT)就可以解决问题的原因是因为在转换JSON格式时,带有该注解可以将对象按照对象的形式进行序列化,即**<字段名称,字段内容>**的键值对形式进行序列化。
  3. 附带的问题就是反序列化会出现问题,即存入Redis时没问题,但是取出有问题的。【故建议不要存Redis
http://www.yayakq.cn/news/106502/

相关文章:

  • 网站备案类型有哪些家具 东莞网站建设
  • 建设部网站资质公示wordpress 链接 排序
  • 西安网站建设官网wordpress调用单页
  • 用自己电脑做网站打开官方网站
  • 如何做网站推广页面短视频营销方式有哪些
  • 泰州网站建设公司哪个好口碑好网站建设
  • 深圳住房和建设局网站故障私人注册企业邮箱
  • 官方网站建设步骤郑州企业网站排名优化公司
  • 建设公司网站有用吗简历模板下载word格式
  • wordpress建站事项自己怎么设计公司logo
  • 建设文明网站平台的意义与概述装饰设计工程有限公司经营范围
  • 做网站建设出路在哪里工作汇报范文
  • 做彩票网站制作书画网站 建设方案
  • 做app还是网站购物网站建设运营需求
  • 在线手机网页制作windows优化大师手机版
  • 济南企业网站制作费用网站建设与实践
  • 成都海鸥手表网站祝明电子商务网站建设实验报告
  • 网站内链结构是什么成都建工官网
  • 网站模板如何使用进行网站开发的所有步骤
  • 公司网站开发排名高清图片免费下载
  • 晾衣架 东莞网站建设福州网站建设加q479185700
  • 具有价值的网站建设wordpress自动同步
  • 成都企业网站模板建设奎屯市网站
  • 东莞网站关键词优化公司网站建设一屏式网站
  • php网站后台页面建网站教程视频下载
  • 做货代在哪个网站找客源学做网站论坛好吗
  • 网站建设备案优化石家庄网站推广专业
  • 英国网站域名网站开发研究现状
  • 建设网站的公司兴田德润在哪里青海风控平台app
  • 中小企业网站建设与推广论文石家庄公司网络建设