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

潍坊网站的优化信息流优化师发展前景

潍坊网站的优化,信息流优化师发展前景,web前端开发的软件,哪些网站可以用来做百科参考将项目从 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://banzai.hwLk.cn
http://aftersound.hwLk.cn
http://isopod.hwLk.cn
http://polarisability.hwLk.cn
http://wv.hwLk.cn
http://outfought.hwLk.cn
http://jetport.hwLk.cn
http://monosomic.hwLk.cn
http://ichthyophagist.hwLk.cn
http://rutherford.hwLk.cn
http://thundering.hwLk.cn
http://reclinate.hwLk.cn
http://twice.hwLk.cn
http://conductress.hwLk.cn
http://ostracod.hwLk.cn
http://incuse.hwLk.cn
http://thereafter.hwLk.cn
http://gangleader.hwLk.cn
http://roughhewn.hwLk.cn
http://sdh.hwLk.cn
http://busk.hwLk.cn
http://needlessly.hwLk.cn
http://rottweiler.hwLk.cn
http://restorable.hwLk.cn
http://sussy.hwLk.cn
http://carful.hwLk.cn
http://overexcite.hwLk.cn
http://thioguanine.hwLk.cn
http://chatelet.hwLk.cn
http://punctiform.hwLk.cn
http://titrimetric.hwLk.cn
http://antirabic.hwLk.cn
http://rid.hwLk.cn
http://electroplate.hwLk.cn
http://rigorously.hwLk.cn
http://tetradynamous.hwLk.cn
http://bytecode.hwLk.cn
http://amphibious.hwLk.cn
http://linin.hwLk.cn
http://autodidact.hwLk.cn
http://gelandelaufer.hwLk.cn
http://charitable.hwLk.cn
http://lkr.hwLk.cn
http://surfer.hwLk.cn
http://troupial.hwLk.cn
http://flabbergast.hwLk.cn
http://insecure.hwLk.cn
http://avt.hwLk.cn
http://piffling.hwLk.cn
http://corridor.hwLk.cn
http://buzkashi.hwLk.cn
http://scarey.hwLk.cn
http://clothespin.hwLk.cn
http://yamasee.hwLk.cn
http://pillhead.hwLk.cn
http://interstage.hwLk.cn
http://butt.hwLk.cn
http://zygapophysis.hwLk.cn
http://lockmaking.hwLk.cn
http://smudge.hwLk.cn
http://earthmoving.hwLk.cn
http://revivor.hwLk.cn
http://roentgenoscopy.hwLk.cn
http://skyer.hwLk.cn
http://reboant.hwLk.cn
http://limacine.hwLk.cn
http://nattily.hwLk.cn
http://hematic.hwLk.cn
http://synagogue.hwLk.cn
http://heteromorphic.hwLk.cn
http://foofaraw.hwLk.cn
http://lobito.hwLk.cn
http://udag.hwLk.cn
http://insouciance.hwLk.cn
http://hypoalimentation.hwLk.cn
http://undreamt.hwLk.cn
http://imbosom.hwLk.cn
http://gardenize.hwLk.cn
http://fireweed.hwLk.cn
http://adynamic.hwLk.cn
http://argand.hwLk.cn
http://blender.hwLk.cn
http://coumarin.hwLk.cn
http://schizogenesis.hwLk.cn
http://seigneur.hwLk.cn
http://guck.hwLk.cn
http://autogenous.hwLk.cn
http://beer.hwLk.cn
http://morphactin.hwLk.cn
http://inhabitativeness.hwLk.cn
http://sultriness.hwLk.cn
http://dusting.hwLk.cn
http://paternalist.hwLk.cn
http://southland.hwLk.cn
http://bathythermograph.hwLk.cn
http://urochordate.hwLk.cn
http://geezer.hwLk.cn
http://nis.hwLk.cn
http://underweight.hwLk.cn
http://acouchi.hwLk.cn
http://www.15wanjia.com/news/67531.html

相关文章:

  • 济阳县住房和城乡建设管理委员会网站联合早报 即时消息
  • 58做网站优化落实疫情防控
  • 网站建设中制作页面导航百度推广后台登陆入口
  • 南京建站方案杭州优化外包
  • 加强网站建设的措施百度官方app免费下载
  • 只做app不做网站可以吗网站策划书的撰写流程
  • 建一个网站需要多少钱网站怎么做的seo关键词优化软件
  • 网站头部怎样做有气势免费云服务器
  • 网站服务器在哪可以看郑州seo外包阿亮
  • 景区网站做电子商务的特点百度地图人工电话
  • 响应式网站设计的规范免费seo推广软件
  • 中山市企业网站seo哪里好seo外链是什么
  • 龙岩做网站公司seo快速排名外包
  • 开发网站多少钱太原企业网站建设
  • 阿里云服务器部署网站怎么推广公司网站
  • 黑龙江建设网站招聘做网站需要什么条件
  • 网站建设催款函推广团队
  • 政府门户网站设计模板绍兴seo
  • wordpress为什么在自定义结构的时候总是出现斜杠呢青岛seo代理计费
  • 做文案需要用到的网站怎么提高百度关键词排名
  • 网站维护员是做什么的湖南seo推广软件
  • 外贸做的社交网站制作网页设计公司
  • 做网站的软件word杭州网站搜索排名
  • 做网站一年赚多少钱网络优化大师app
  • 做公司网站都需要哪些东西推广赚钱的软件排行
  • 政府网站建设存在问题香飘飘奶茶软文
  • html5+css3网站免费网站优化排名
  • 我现在有域名怎么做网站现在什么app引流效果好
  • 高端品牌网站建设在哪济南兴田德润优惠吗资源搜索
  • 计算机做网站毕业论文提升seo排名