[Dining-toologle]Swagger連動
大きく振る
APIを開発する際には、お客様とのコミュニケーションを円滑にするために、APIリストが必要です.リストを生成するには、APIドキュメントを自動的に生成するSwagerを使用する方法がいくつかあります.
javaconfigを設定します.
正式な書類
@EnableSwagger2
Springfox傲慢2を使う
Docket
Springfoxフレームワークの基本インタフェースのコンストラクタとして、さまざまなデフォルト値と便利な構成方法を提供しています.その後select()を使用して戻り、ApiSelectorBuilderを使用します.
.apis
apiをインポートする場所を定義します.
(RequestHandlerSelectors.basePackage("kr.or.dining_together.member.controller"))
ソフトウェア饅頭アイテムのコントローラに基づいてドキュメントを生成します.
paths
特定のpath生成ドキュメントのみをフィルタします.
.useDefaultResponseMessages
デフォルトで200403404に設定されているメール
筆者がこのような状況を明らかにしなかったのは,誤りを管理するためである
Controller
トップレベルのタイトル値の設定
@ApiOperation(value=「ログイン」、notes=「電子メールでログイン」)
各リソースのタイトルと説明
@RequestBody@ApiParam(value=「電子メールパスワード」、required=true)RequestLoginリクエストLogin
パラメータの説明
通常、この設定ファイルは理解しにくいので、正式なドキュメントやブログを探して、一つ一つ分解したほうが理解しやすいです...疲れたけど…
https://taetaetae.github.io/posts/openapi-and-swagger-ui-in-spring-boot/
https://springfox.github.io/springfox/docs/current/#springfox-spring-mvc-and-spring-boot
APIを開発する際には、お客様とのコミュニケーションを円滑にするために、APIリストが必要です.リストを生成するには、APIドキュメントを自動的に生成するSwagerを使用する方法がいくつかあります.
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
mavenに依存項目を追加します.javaconfigを設定します.
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket swaggerApi(){
return new Docket(DocumentationType.SWAGGER_2).apiInfo(swaggerInfo()).select()
.apis(RequestHandlerSelectors.basePackage("kr.or.dining_together.member.controller"))
.paths(PathSelectors.ant("/auth/**"))
.build()
.useDefaultResponseMessages(false); // 기본으로 세팅되는 200,401,403,404 메시지를 표시 하지 않음
}
private ApiInfo swaggerInfo() {
return new ApiInfoBuilder().title("Member API Documentation")
.description("회원 API 문서")
.version("1").build();
}
}
https://springfox.github.io/springfox/docs/current/#springfox-spring-mvc-and-spring-boot 正式な書類
@EnableSwagger2
Springfox傲慢2を使う
Docket
Springfoxフレームワークの基本インタフェースのコンストラクタとして、さまざまなデフォルト値と便利な構成方法を提供しています.その後select()を使用して戻り、ApiSelectorBuilderを使用します.
.apis
apiをインポートする場所を定義します.
(RequestHandlerSelectors.basePackage("kr.or.dining_together.member.controller"))
ソフトウェア饅頭アイテムのコントローラに基づいてドキュメントを生成します.
paths
特定のpath生成ドキュメントのみをフィルタします.
.useDefaultResponseMessages
デフォルトで200403404に設定されているメール
筆者がこのような状況を明らかにしなかったのは,誤りを管理するためである
Controller
@Api(tags={"1. Sign"})
@RequiredArgsConstructor
@RestController
@RequestMapping(value="/auth")
public class SignController {
/*
로그인 회원가입 로직
*/
private final UserRepository userRepository;
private final JwtTokenProvider jwtTokenProvider;
private final ResponseService responseService;
private final PasswordEncoder passwordEncoder;
private final UserService userService;
@ApiOperation(value="로그인", notes = "이메일을 통해 로그인한다.")
@PostMapping(value="/login")
public SingleResult<String> login(@RequestBody @ApiParam(value="이메일 비밀번호",required = true) RequestLogin requestLogin){
UserDto userDto = userService.login(requestLogin);
return responseService.getSingleResult(jwtTokenProvider.createToken(String.valueOf(userDto.getEmail()), userDto.getRoles()));
}
}
@Api(tags={"1. Sign"})トップレベルのタイトル値の設定
@ApiOperation(value=「ログイン」、notes=「電子メールでログイン」)
各リソースのタイトルと説明
@RequestBody@ApiParam(value=「電子メールパスワード」、required=true)RequestLoginリクエストLogin
パラメータの説明
通常、この設定ファイルは理解しにくいので、正式なドキュメントやブログを探して、一つ一つ分解したほうが理解しやすいです...疲れたけど…
https://taetaetae.github.io/posts/openapi-and-swagger-ui-in-spring-boot/
https://springfox.github.io/springfox/docs/current/#springfox-spring-mvc-and-spring-boot
Reference
この問題について([Dining-toologle]Swagger連動), 我々は、より多くの情報をここで見つけました https://velog.io/@jifrozen/MSA프로젝트-Swagger-연동テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol