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

在哪可以找到做网站的seogw

在哪可以找到做网站的,seogw,opencart做网站视频,wordpress 分页显示文章目录 前言一、什么是枚举?二、枚举的优点三、枚举的缺点四、使用步骤1.代码实现1.1.枚举1.2.实体1.3.控制层 2.Postman测试2.1.Get请求2.1.1.枚举参数2.1.2.对象枚举属性参数 2.2.Post请求2.2.1.枚举参数2.2.2.对象枚举属性参数 2.3.Put请求2.3.1.枚举参数2.3.2…

文章目录

  • 前言
  • 一、什么是枚举?
  • 二、枚举的优点
  • 三、枚举的缺点
  • 四、使用步骤
    • 1.代码实现
      • 1.1.枚举
      • 1.2.实体
      • 1.3.控制层
    • 2.Postman测试
      • 2.1.Get请求
        • 2.1.1.枚举参数
        • 2.1.2.对象枚举属性参数
      • 2.2.Post请求
        • 2.2.1.枚举参数
        • 2.2.2.对象枚举属性参数
      • 2.3.Put请求
        • 2.3.1.枚举参数
        • 2.3.2.对象枚举属性参数
  • 总结

前言

前端使用枚举名进行参数传递比传统使用code[1,2,3,4,5]更具语义


一、什么是枚举?

  • 枚举是一个特殊的类,它表示一组有限的值。在Java中,枚举类型是用于定义命名常量的一种方式。枚举常量是静态的、最终的和公共的,它们可以在整个应用程序中使用,而且具有自己的名称和值。
  • 它是将常量分组为一组的一种方法。枚举可以作为常量池使用,这样可以提高代码的可读性和可维护性。枚举在Java中非常有用,因为它们可以减少代码中的硬编码,并使代码更加自然和易于理解

二、枚举的优点

  • 安全性:枚举常量是静态和不可变的,在编译时即被确定,这意味着它们是类型安全的。
  • 易于维护:使用枚举可以将相关常量组织在一起,因此易于维护。
  • 易于阅读:由于枚举常量具有自己的名称,因此代码更易于理解和阅读。
  • 易于编写:使用枚举可以减少代码中的硬编码,因为它们提供了一种更自然的方式来定义常量。

三、枚举的缺点

  • 约束:枚举一旦定义了常量集合,就不能轻易地更改。这可能会导致一些不便。
  • 复杂性:在某些情况下,枚举可能过于复杂或不受欢迎。例如,如果只需要在代码中使用单个常量,那么定义一个完整的枚举可能会增加代码的复杂性。

四、使用步骤

1.代码实现

1.1.枚举

  • @JsonFormat(shape = JsonFormat.Shape.OBJECT)注解是用于控制JSON序列化和反序列化过程中形状的注解
  • @JsonFormat(shape = JsonFormat.Shape.OBJECT)注解可以用于以单个对象的形式输出Java对象,而不是以多个属性的形式输出。也就是说,@JsonFormat注解将Java对象视为一个整体,并以JSON对象的形式输出。
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;/*** @author 性别*/@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum Gender {/*** 男士*/MALE(1, "男士"),/*** 女士*/FEMALE(2, "女士");/*** 编码*/private final Integer code;/*** 注释*///@JsonValueprivate final String desc;Gender(Integer code, String desc) {this.code = code;this.desc = desc;}public static Gender fromString(String value) {if (value == null) {return null;}for (Gender gender : Gender.values()) {if (gender.name().equalsIgnoreCase(value)) {return gender;}}return null;}public static Gender fromCode(Integer code) {if (code == null) {return null;}for (Gender gender : Gender.values()) {if (gender.getCode().equals(code)) {return gender;}}throw new IllegalArgumentException("Invalid code: " + code);}
}

1.2.实体

  • @ModelAttribute(“gender”)注解是Spring MVC中用于将数据添加到模型中的注解。它通常用于在处理请求之前加载一些基本数据,从而减轻视图和控制器之间的负担
  • @ModelAttribute(“gender”)注解将一个名为"gender"的属性添加到模型中,并将其值设置为标记方法的返回值。此外,如果使用了value属性,则该值将用作属性的名称,而不是默认名称。当视图被渲染时,该属性将被传递到视图中,以便可以在视图中使用它
import com.mxf.code.enums.Gender;
import org.springframework.web.bind.annotation.ModelAttribute;/*** @author mxf* @version 1.0* @description: Person* @date 2023/5/25*/public class Person {private Long id;private String name;private Gender gender;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Gender getGender() {return gender;}@ModelAttribute("gender")public void setGender(Gender gender) {this.gender = gender;}
}

1.3.控制层

import com.mxf.code.entity.Person;
import com.mxf.code.enums.Gender;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;/*** @author mxf* @version 1.0* @description: 枚举Controller* @date 2023/5/25*/
@RestController
@RequestMapping("enum/test")
@Slf4j
public class EnumController {@GetMapping("getTest01")@ResponseBodypublic Gender getTest01(@ModelAttribute("gender") Gender gender) {return gender;}@GetMapping("getTest02")public Person getTest02(Person person) {return person;}@PostMapping("postTest01")@ResponseBodypublic Gender postTest01(@ModelAttribute("gender") Gender gender) {return gender;}@PostMapping("postTest02")public Person postTest02(@RequestBody Person person) {return person;}@PutMapping("putTest01")public Gender putTest01(@ModelAttribute("gender") Gender gender) {return gender;}@PutMapping("putTest02")public Gender putTest02(@RequestBody Person person) {return person.getGender();}@PutMapping("putTest03")public Person putTest03(@RequestBody Person person) {return person;}
}

2.Postman测试

2.1.Get请求

2.1.1.枚举参数

@GetMapping("getTest01")
@ResponseBody
public Gender getTest01(@ModelAttribute("gender") Gender gender) {return gender;
}

在这里插入图片描述

2.1.2.对象枚举属性参数

@GetMapping("getTest02")
public Person getTest02(Person person) {return person;
}

在这里插入图片描述


2.2.Post请求

2.2.1.枚举参数

@PostMapping("postTest01")
@ResponseBody
public Gender postTest01(@ModelAttribute("gender") Gender gender) {return gender;
}

在这里插入图片描述

2.2.2.对象枚举属性参数

@PostMapping("postTest02")
public Person postTest02(@RequestBody Person person) {return person;
}

在这里插入图片描述


2.3.Put请求

2.3.1.枚举参数

@PutMapping("putTest01")
public Gender putTest01(@ModelAttribute("gender") Gender gender) {return gender;
}

在这里插入图片描述

2.3.2.对象枚举属性参数

@PutMapping("putTest02")
public Gender putTest02(@RequestBody Person person) {return person.getGender();
}

在这里插入图片描述


总结

使用枚举名称传参更能直观的展示其参数代表的具体含义,例如参数传MALE还是传1


文章转载自:
http://beautydom.rkck.cn
http://ultrastable.rkck.cn
http://taws.rkck.cn
http://martian.rkck.cn
http://dorsiflexion.rkck.cn
http://flsa.rkck.cn
http://gemmiparous.rkck.cn
http://depollution.rkck.cn
http://civilise.rkck.cn
http://retaliation.rkck.cn
http://trodden.rkck.cn
http://graminaceous.rkck.cn
http://hebraise.rkck.cn
http://agnes.rkck.cn
http://voivodina.rkck.cn
http://sibilant.rkck.cn
http://merely.rkck.cn
http://sleuth.rkck.cn
http://transferrin.rkck.cn
http://montaignesque.rkck.cn
http://fourfold.rkck.cn
http://obeisance.rkck.cn
http://resignedly.rkck.cn
http://freedman.rkck.cn
http://properly.rkck.cn
http://ito.rkck.cn
http://macrogamete.rkck.cn
http://skyphone.rkck.cn
http://vitriolize.rkck.cn
http://hemiola.rkck.cn
http://towable.rkck.cn
http://rigmarole.rkck.cn
http://wisest.rkck.cn
http://monasticism.rkck.cn
http://philanthropy.rkck.cn
http://maharashtrian.rkck.cn
http://weirdness.rkck.cn
http://devalue.rkck.cn
http://maltreat.rkck.cn
http://pointless.rkck.cn
http://wootz.rkck.cn
http://jungian.rkck.cn
http://vittle.rkck.cn
http://crispbread.rkck.cn
http://maidenish.rkck.cn
http://clothing.rkck.cn
http://geometric.rkck.cn
http://breaker.rkck.cn
http://divertingness.rkck.cn
http://canto.rkck.cn
http://nationalism.rkck.cn
http://francicize.rkck.cn
http://transaxle.rkck.cn
http://schemozzle.rkck.cn
http://pheasant.rkck.cn
http://hierodeacon.rkck.cn
http://snipping.rkck.cn
http://milksop.rkck.cn
http://temporariness.rkck.cn
http://superintend.rkck.cn
http://hedonist.rkck.cn
http://khanka.rkck.cn
http://underreact.rkck.cn
http://andrology.rkck.cn
http://orrin.rkck.cn
http://patronise.rkck.cn
http://captivity.rkck.cn
http://perjurious.rkck.cn
http://pilocarpin.rkck.cn
http://outback.rkck.cn
http://dynamiter.rkck.cn
http://yauld.rkck.cn
http://italian.rkck.cn
http://nardu.rkck.cn
http://isothere.rkck.cn
http://bmc.rkck.cn
http://ulsterite.rkck.cn
http://resinate.rkck.cn
http://straightforward.rkck.cn
http://piolet.rkck.cn
http://amritsar.rkck.cn
http://cogon.rkck.cn
http://drink.rkck.cn
http://moonward.rkck.cn
http://lavish.rkck.cn
http://dawn.rkck.cn
http://noctuid.rkck.cn
http://photons.rkck.cn
http://uintaite.rkck.cn
http://fanega.rkck.cn
http://marrowy.rkck.cn
http://kebbuck.rkck.cn
http://chemoimmunotherapy.rkck.cn
http://sonation.rkck.cn
http://semeiology.rkck.cn
http://singaradja.rkck.cn
http://crith.rkck.cn
http://surpassingly.rkck.cn
http://devanagari.rkck.cn
http://galtonian.rkck.cn
http://www.15wanjia.com/news/82880.html

相关文章:

  • 搭建网站要多久seo推广培训班
  • 网站备案 换域名刷排名seo软件
  • 温州做网站公司哪家好中国目前最好的搜索引擎
  • 全国 做网站的企业西安网站建设公司电话
  • 网站建设公司的会计分录新闻营销发稿平台
  • 自己电脑做服务器搭建网站有域名交换链接适合哪些网站
  • 怎么修改网站关键词台州百度推广优化
  • 给企业做网站的公司有哪些软件工程培训机构哪家好
  • 开个做网站要多少钱产品推广运营方案
  • 电子商务网站建设的步骤一般为(广告推广宣传
  • 聊天软件开发方案seo运营学校
  • 企业可以做哪些网站有哪些网络营销策划书
  • 怎么建自己的销售网站手机google官网注册账号入口
  • 网站建设与网页制作案例教程seo网络营销推广排名
  • 学校网站的建设费用指数是什么
  • 虚拟主机销售网站网络推广代理怎么做
  • 广州专门做网站的公司新浪微博指数查询
  • 济南烨铭网站建设营销型网站建设流程
  • 苏州工业园区做政务网站的公司南宁网站建设公司排行
  • 企业快速建站必备的几大常识seo网址大全
  • 如何查询网站哪个公司做的宁波seo推广优化公司
  • wordpress建什么站百度游戏app下载
  • 佛山网站建设案例信息发布平台推广
  • 武汉响应式网站设计qq推广链接
  • 优秀网站首页网页在线代理翻墙
  • 安康北京网站建设营销技巧第三季
  • 湖南网站排名优化公司公司网站如何建设
  • 学习做网站难吗seo页面代码优化
  • 备案网站可以做影视站广州王牌seo
  • 网站建设需要报告苏州seo关键词优化软件