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

张北北京网站建设免费咨询律师网站

张北北京网站建设,免费咨询律师网站,广州天河区是富人区吗,网站建设多少费用目录 前言1. ApiModel注解2. ApiModelProperty注解3. 实战 前言 在Java中#xff0c;ApiModel和ApiModelProperty是Swagger框架#xff08;用于API文档的工具#xff09;提供的注解#xff0c;用于增强API文档的生成和展示。这两者搭配使用更佳 使用两者注解#xff0c;… 目录 前言1. ApiModel注解2. ApiModelProperty注解3. 实战 前言 在Java中ApiModel和ApiModelProperty是Swagger框架用于API文档的工具提供的注解用于增强API文档的生成和展示。这两者搭配使用更佳 使用两者注解需导入swagger的依赖包 !-- https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-annotations -- dependencygroupIdio.swagger.core.v3/groupIdartifactIdswagger-annotations/artifactIdversion2.2.19/version /dependency主要作用开发者对API的模型和属性进行详细的描述以便生成清晰的API文档。 1. ApiModel注解 ApiModel注解用于对Java类进行标注表示这个类是一个Swagger模型Model。通常用于描述一个数据对象或DTOData Transfer Object。 示例代码 import io.swagger.annotations.ApiModel;ApiModel(description 用户信息) public class User {// 类的属性... }深入其源码 package io.swagger.annotations;import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Inherited public interface ApiModel {String value() default ;String description() default ;Class? parent() default Void.class;String discriminator() default ;Class?[] subTypes() default {};String reference() default ; }源码中的注解可看出 Target注解 用于指定自定义注解可以应用的程序元素类型参数是一个ElementType数组。该源码表示应用在类上Retention注解 用于指定自定义注解的生命周期即注解在程序运行时的保留策略。该源码表示运行时Inherited注解 子类会继承该注解。默认情况下注解不会被子类继承。 对应的属性值为 value属性属性值description属性描述值parent属性用于指定被注解类的父类discriminator属性多态情境区分多个子类subTypes属性指定被注解类的子类reference属性提供对被注解类的引用信息 2. ApiModelProperty注解 ApiModelProperty注解用于对Java类的属性进行标注表示这个属性是一个Swagger模型的属性。它可以用于描述属性的名称、说明、数据类型等信息 import io.swagger.annotations.ApiModelProperty;public class User {ApiModelProperty(value 用户ID, example 123)private Long id;ApiModelProperty(value 用户名, example john_doe)private String username;// 其他属性... }深入其源码 Target({ElementType.METHOD, ElementType.FIELD}) Retention(RetentionPolicy.RUNTIME) public interface ApiModelProperty {String value() default ;String name() default ;String allowableValues() default ;String access() default ;String notes() default ;String dataType() default ;boolean required() default false;int position() default 0;boolean hidden() default false;String example() default ;/** deprecated */Deprecatedboolean readOnly() default false;AccessMode accessMode() default ApiModelProperty.AccessMode.AUTO;String reference() default ;boolean allowEmptyValue() default false;Extension[] extensions() default {Extension(properties {ExtensionProperty(name ,value )} )};public static enum AccessMode {AUTO,READ_ONLY,READ_WRITE;private AccessMode() {}} }其属性如下 value属性 注解的默认属性name属性 指定属性或方法的名称。allowableValues属性 指定属性或方法的可接受值范围。access属性 指定属性或方法的访问规则。notes属性 提供对属性或方法的额外说明。dataType属性 指定属性或方法的数据类型。required属性 指定属性或方法是否为必需。position属性 指定属性或方法在文档中的位置。hidden属性 指定属性或方法是否应该在文档中隐藏。example属性 提供属性或方法的示例值。readOnly属性已过时 指定属性或方法是否为只读。已过时推荐使用 access 属性。accessMode属性 指定访问模式可以是 AUTO、READ_ONLY 或 READ_WRITE。reference属性 提供属性或方法的引用信息。allowEmptyValue属性 指定属性或方法是否允许为空值。extensions属性 指定属性或方法的扩展信息支持一组扩展属性。AccessMode枚举 属性或方法的访问模式包括 AUTO、READ_ONLY 和 READ_WRITE。 下面是一个简单的示例代码 import io.swagger.annotations.ApiModelProperty;public class Example {ApiModelProperty(value 用户ID, example 123, required true)private Long userId;ApiModelProperty(value 用户名, example 码农研究僧, readOnly true)public String getUsername() {return 码农研究僧;} }3. 实战 比如应用在技术行业的某个模块对应数据库中的entity实体类如下 Data TableName(equipment_accident_record) ApiModel(value AccidentRecord对象, description AccidentRecord对象) public class AccidentRecord extends BaseEntity {private static final long serialVersionUID 1L;/*** 设备编号*/ApiModelProperty(value 设备编号)private String equipmentNo;/*** 设备名称*/ApiModelProperty(value 设备名称)private String equipmentName;/*** 设备机种*/ApiModelProperty(value 设备机种)private String model;/*** 事故日期*/ApiModelProperty(value 事故日期)private String dateTime;/*** 操作者*/ApiModelProperty(value 操作者)private String operator;/*** 事故经过*/ApiModelProperty(value 事故经过)private String content;/*** 损坏情况*/ApiModelProperty(value 损坏情况)private String situation;/*** 事故原因*/ApiModelProperty(value 事故原因)private String reason;/*** 事故类别*/ApiModelProperty(value 事故类别)private String type;/*** 损失费用*/ApiModelProperty(value 损失费用)private String expense;/*** 处理意见*/ApiModelProperty(value 处理意见)private String opinion;/*** 主管技术员*/ApiModelProperty(value 主管技术员)private String technician;} 其前端vo类别中的类如下 Data ApiModel(value AccidentRecordVO对象, description AccidentRecordVO对象) public class AccidentRecordVO extends AccidentRecord {private static final long serialVersionUID 1L;}
http://www.zqtcl.cn/news/368004/

相关文章:

  • 统一门户网站开发员给我用织梦做的网站
  • 网站上有声的文章是怎么做的深圳市住房和建设局网站和市住宅租赁管理服务中心
  • 如何对网站进行爬虫页面设计存在的问题
  • 知名网站建设加盟合作企业邮箱如何登录
  • asp net mvc做网站软文推广是什么
  • 张家口住房和城乡建设厅网站如何做点击赚钱的网站
  • 网站在建设中无法访问贵州碧江区住房和城乡建设局网站
  • 营销类网站 英文东莞正规的免费网站优化
  • 柳州网站推广最好的公司百度seo优化培训
  • 哈尔滨门户网站建站哪个网站做农产品
  • 网站行业关键词如何建设网站
  • wordpress插件目录504wordpress访问优化插件
  • 固定ip做网站网页源码提取工具
  • php网站模板源码下载公司网络营销推广软件
  • 免费电子版个人简历模板温州快速排名优化
  • 网站修改titlewordpress显示icp备案
  • 中国国际贸易单一窗口登录南京专业网站优化公司
  • 手机网站建设合同wordpress案例分析
  • 深圳做网站什么公司好广州电商小程序开发
  • 郑州高新区做网站的公司如何欣赏网站
  • 网站做维恩图做网站的公司杭州
  • 柳州公司网站制作公司wordpress 网店
  • 网站增加栏目费用在网站开发中如何设置登录
  • 怎样用php做网站百度推广联系人
  • 怎么建立手机网站如何申请公司域名
  • 营销型网站怎么收费邓州企业网站
  • 北京建设官方网站邢台网站维护
  • 新余网站制作网站开发工资咋样
  • 襄阳网站建设外包自己做一个网站
  • 网站域名的后缀wordpress文章归类