如何通过OpenApi Generator为Micronaut生成类似Spring Boot的接口端点?
是否支持通过spec.yaml生成接口端点
完全支持,Micronaut官方适配了OpenAPI Generator,使用逻辑和Spring Boot的OpenAPI代码生成流程基本一致,不需要改动现有业务实现逻辑。
生成的接口代码示例
你提供的Spring Boot生成的接口,对应Micronaut下生成的接口代码如下:
/** * POST /users : 创建新用户 * 创建新用户 * * @param userDto 请求参数(必填) * @return 操作成功(状态码200) */ @Operation(summary = "创建新用户", description = "创建新用户", tags = "users") @ApiResponse(responseCode = "200", description = "操作成功", content = @Content( mediaType = "application/json", schema = @Schema(implementation = UserDetailsDto.class) )) @Post( value = "/users", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON ) HttpResponse<UserDetailsDto> createUser(@Body @Valid UserDto userDto);
业务逻辑适配
生成接口后直接写实现类实现该接口,你现有业务代码几乎不需要修改,仅需要调整返回值类型适配Micronaut的HttpResponse(和Spring的ResponseEntity用法完全一致),调整后的实现代码如下:
@Override public HttpResponse<UserDetailsDto> createUser(UserDto userDto) { User user = repository.save(new User(userDto.getName(), userDto.getEmail())); return HttpResponse.ok().body(new UserDetailsDto(user.getId(), userDto.getName(), userDto.getEmail())); }
内容的提问来源于stack exchange,提问作者Oleh Kuzmenko
相关产品推荐
相关产品推荐

