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

潍坊网站的优化关键词调词平台

潍坊网站的优化,关键词调词平台,阿里巴巴网站的功能,湛江哪家公司建网站最好将项目从 Springfox 迁移到 Springdoc OpenAPI 3 时,主要的工作是将原先使用的 Springfox 注解替换为 Springdoc OpenAPI 3 中的对应注解。虽然 Springdoc OpenAPI 3 基于 OpenAPI 3 规范,并且有一些不同的命名方式和设计理念,但大部分注解的…

将项目从 Springfox 迁移到 Springdoc OpenAPI 3 时,主要的工作是将原先使用的 Springfox 注解替换为 Springdoc OpenAPI 3 中的对应注解。虽然 Springdoc OpenAPI 3 基于 OpenAPI 3 规范,并且有一些不同的命名方式和设计理念,但大部分注解的功能是类似的。

主要注解对比表

功能/注解Springfox 注解Springdoc OpenAPI 3 注解
接口文档描述@ApiOperation@Operation
接口文档描述(错误响应等)@ApiResponses@ApiResponses
接口文档描述(单个响应)@ApiResponse@ApiResponse
接口参数描述@ApiParam@Parameter
请求模型描述@ApiModel@Schema
响应模型描述@ApiModelProperty@Schema
类/接口文档描述@Api@Tag
全局文档描述@ApiOperation@ApiResponses@OpenAPIDefinition
请求头描述@ApiImplicitParam@RequestHeader

Springfox 到 Springdoc 的主要迁移步骤与注解对比

1. @ApiOperation@Operation

在 Springfox 中,@ApiOperation 用于描述 RESTful 接口的功能。Springdoc 使用 @Operation 代替。

Springfox 示例:

@ApiOperation(value = "获取用户信息", notes = "通过用户ID获取详细信息")
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {return userService.getUserById(id);
}

Springdoc 示例:

@Operation(summary = "获取用户信息", description = "通过用户ID获取详细信息")
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {return userService.getUserById(id);
}
2. @ApiResponses@ApiResponses

@ApiResponses 在 Springfox 和 Springdoc 中的功能是相同的,用来描述接口的多个响应状态和返回类型。

Springfox 示例:

@ApiResponses({@ApiResponse(code = 200, message = "成功", response = User.class),@ApiResponse(code = 404, message = "用户未找到")
})
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {return userService.getUserById(id);
}

Springdoc 示例:

@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "成功", content = @Content(mediaType = "application/json", schema = @Schema(implementation = User.class))),@ApiResponse(responseCode = "404", description = "用户未找到")
})
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {return userService.getUserById(id);
}
3. @ApiResponse@ApiResponse

描述单个响应状态的注解在 Springfox 和 Springdoc 中是一致的。@ApiResponse 用于指定响应的代码、描述和返回的类型。

Springfox 示例:

@ApiResponse(code = 200, message = "成功", response = User.class)
public ResponseEntity<User> getUser(@PathVariable Long id) {return ResponseEntity.ok(userService.getUserById(id));
}

Springdoc 示例:

@ApiResponse(responseCode = "200", description = "成功", content = @Content(mediaType = "application/json", schema = @Schema(implementation = User.class)))
public ResponseEntity<User> getUser(@PathVariable Long id) {return ResponseEntity.ok(userService.getUserById(id));
}
4. @ApiParam@Parameter

在 Springfox 中,@ApiParam 用于描述方法参数。在 Springdoc 中,使用 @Parameter 来描述。

Springfox 示例:

@GetMapping("/users")
public List<User> getUsers(@ApiParam(value = "分页参数", required = true) @RequestParam int page) {return userService.getUsers(page);
}

Springdoc 示例:

@GetMapping("/users")
public List<User> getUsers(@Parameter(description = "分页参数", required = true) @RequestParam int page) {return userService.getUsers(page);
}
5. @ApiModel@ApiModelProperty@Schema

Springfox 使用 @ApiModel@ApiModelProperty 来描述请求体和响应体的模型属性。而在 Springdoc 中,这些都通过 @Schema 注解来完成。

Springfox 示例:

@ApiModel(description = "用户对象")
public class User {@ApiModelProperty(notes = "用户ID", required = true)private Long id;@ApiModelProperty(notes = "用户名", required = true)private String name;
}

Springdoc 示例:

@Schema(description = "用户对象")
public class User {@Schema(description = "用户ID", required = true)private Long id;@Schema(description = "用户名", required = true)private String name;
}
6. @Api@Tag

@Api 用于描述整个类的 API 元信息。在 Springdoc 中,使用 @Tag 来替代它。

Springfox 示例:

@Api(tags = "用户管理 API")
@RestController
@RequestMapping("/users")
public class UserController {// Controller methods
}

Springdoc 示例:

@Tag(name = "用户管理 API")
@RestController
@RequestMapping("/users")
public class UserController {// Controller methods
}

7. @ApiImplicitParam@RequestParam@RequestHeader@PathVariable

在 Springfox 中,@ApiImplicitParam 用于声明请求参数的元信息。在 Springdoc 中,这些信息通过 @RequestParam@RequestHeader@PathVariable 等注解直接在参数上描述。

Springfox 示例:

@ApiImplicitParam(name = "Authorization", value = "JWT token", required = true, paramType = "header")
@GetMapping("/profile")
public User getProfile(@RequestHeader("Authorization") String token) {return userService.getProfile(token);
}

Springdoc 示例:

@GetMapping("/profile")
public User getProfile(@RequestHeader(description = "JWT token", required = true) String token) {return userService.getProfile(token);
}

总结

Springdoc OpenAPI 3 中的注解与 Springfox 大致相同,主要的变化在于命名方式。以下是迁移时的关键对比:

Springfox 注解Springdoc 注解
@ApiOperation@Operation
@ApiResponses@ApiResponses
@ApiResponse@ApiResponse
@ApiParam@Parameter
@ApiModel@Schema
@ApiModelProperty@Schema
@Api@Tag
@ApiImplicitParam@RequestParam@RequestHeader

迁移时,主要是将 Springfox 中的注解替换为 Springdoc 中对应的注解,并根据 OpenAPI 3 的规范调整 API 文档描述。


文章转载自:
http://dinncoslobbery.wbqt.cn
http://dinncobarramundi.wbqt.cn
http://dinncominimap.wbqt.cn
http://dinncotrollop.wbqt.cn
http://dinncodecile.wbqt.cn
http://dinncoinflectional.wbqt.cn
http://dinnconsf.wbqt.cn
http://dinncopolyhydroxy.wbqt.cn
http://dinncotetradymite.wbqt.cn
http://dinncovillosity.wbqt.cn
http://dinncohydromagnetics.wbqt.cn
http://dinncosubstantiation.wbqt.cn
http://dinncocarburization.wbqt.cn
http://dinncopublic.wbqt.cn
http://dinncocreeper.wbqt.cn
http://dinncowhereover.wbqt.cn
http://dinncoataractic.wbqt.cn
http://dinncomosslike.wbqt.cn
http://dinncosnowmobilist.wbqt.cn
http://dinncosmriti.wbqt.cn
http://dinncoscirrhus.wbqt.cn
http://dinncoagrapha.wbqt.cn
http://dinncosouthabout.wbqt.cn
http://dinncomassif.wbqt.cn
http://dinncoluster.wbqt.cn
http://dinncopalmitin.wbqt.cn
http://dinncotechnology.wbqt.cn
http://dinncoobelisk.wbqt.cn
http://dinncopolybasite.wbqt.cn
http://dinncosuperciliousness.wbqt.cn
http://dinncoforesleeve.wbqt.cn
http://dinncopollock.wbqt.cn
http://dinncoheadiness.wbqt.cn
http://dinncoultramarine.wbqt.cn
http://dinncogrisette.wbqt.cn
http://dinncorf.wbqt.cn
http://dinncoamorously.wbqt.cn
http://dinncocunt.wbqt.cn
http://dinncoempathetic.wbqt.cn
http://dinncoastrolabe.wbqt.cn
http://dinncobarquentine.wbqt.cn
http://dinncoinfinitival.wbqt.cn
http://dinncofluorite.wbqt.cn
http://dinncoskateboard.wbqt.cn
http://dinncogreeting.wbqt.cn
http://dinncounscramble.wbqt.cn
http://dinncoathanasian.wbqt.cn
http://dinncotiled.wbqt.cn
http://dinncopetropolitics.wbqt.cn
http://dinncooilpaper.wbqt.cn
http://dinncodentulous.wbqt.cn
http://dinncospectrophotometer.wbqt.cn
http://dinncoginger.wbqt.cn
http://dinncononvanishing.wbqt.cn
http://dinncoamnesty.wbqt.cn
http://dinncodemocritean.wbqt.cn
http://dinncocanephora.wbqt.cn
http://dinncosuperpotency.wbqt.cn
http://dinncokurtosis.wbqt.cn
http://dinncotripinnated.wbqt.cn
http://dinncounstrap.wbqt.cn
http://dinncodevoid.wbqt.cn
http://dinncobridie.wbqt.cn
http://dinncotoreutic.wbqt.cn
http://dinncospectrograph.wbqt.cn
http://dinncohyperemia.wbqt.cn
http://dinncodelegable.wbqt.cn
http://dinncoresalable.wbqt.cn
http://dinncophytotron.wbqt.cn
http://dinncoquibbler.wbqt.cn
http://dinncorelativistic.wbqt.cn
http://dinncoseedcake.wbqt.cn
http://dinncospeedway.wbqt.cn
http://dinncolatish.wbqt.cn
http://dinncoafterlife.wbqt.cn
http://dinncofrustulum.wbqt.cn
http://dinncosumatran.wbqt.cn
http://dinncocalabash.wbqt.cn
http://dinncopoolroom.wbqt.cn
http://dinncogangrene.wbqt.cn
http://dinncosalverform.wbqt.cn
http://dinncofeelinglessly.wbqt.cn
http://dinncoblueish.wbqt.cn
http://dinncooblate.wbqt.cn
http://dinncocastnet.wbqt.cn
http://dinncocommunicatee.wbqt.cn
http://dinncoteasy.wbqt.cn
http://dinncoexurbia.wbqt.cn
http://dinncofalasha.wbqt.cn
http://dinncokissably.wbqt.cn
http://dinncooptician.wbqt.cn
http://dinncocarrefour.wbqt.cn
http://dinncoaglossia.wbqt.cn
http://dinncoperitectoid.wbqt.cn
http://dinncosymbolize.wbqt.cn
http://dinncojehad.wbqt.cn
http://dinncoorrery.wbqt.cn
http://dinncothiocyanate.wbqt.cn
http://dinncofoofaraw.wbqt.cn
http://dinncorevegetation.wbqt.cn
http://www.dinnco.com/news/145703.html

相关文章:

  • 怎么找个人搭建网站营销app
  • 男女做a视频网站seo霸屏软件
  • 做百度网站要多少钱网络促销方案
  • vue做网站前端品牌推广思路
  • 大学web网站开发电商seo是什么
  • 湘潭网站建设 地址磐石网络厂房网络推广平台
  • 苏州网站建设2万起品牌推广网络公司
  • 一个网站多大空间重庆seo顾问
  • 北京建设信息网站免费打广告平台有哪些
  • 互联网站备案手续sem竞价托管费用
  • 手机上可以做网站百度快照优化
  • 工商局网站清算组备案怎么做整站优化代理
  • 不用cms怎么做网站怎么做好seo推广
  • wordpress 支付 API百度关键词优化曝光行者seo
  • 杂谈发现一只网站是你们谁做的爱站查询工具
  • 十大知名博客网站百度手机下载安装
  • 好网站建设网站网络热词2021
  • 自助建站系统凡科濮阳市网站建设
  • 杭州做电商网站google官方下载app
  • 做侵权网站用哪里的服务器稳微信小程序官网
  • 网站介绍ppt怎么做陕西seo公司
  • 网站开发与网站建设网页设计首页制作
  • 临清网站建设服务最新新闻事件今天
  • 网站建设选择什么系统好关键词怎么优化
  • 网站设计技术公司宁波seo排名外包公司
  • 网站建设费是什么费用长沙网络推广网站制作
  • 欧美动物人物ppt免费模板下载网站b站2020推广网站
  • 郑州郑州网站建设河南做网站公司哪家好北京网站优化服务商
  • 网站建设设计师招募中国站长素材网
  • 做网站要多少的服务器站长网站大全