diff --git a/pom.xml b/pom.xml index d7bdb34..4eb2d2b 100644 --- a/pom.xml +++ b/pom.xml @@ -16,6 +16,7 @@ 17 3.1.1 + 2.1.0 @@ -39,6 +40,11 @@ modelmapper ${modelmapper.version} + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc-openapi.version} + org.springframework.boot diff --git a/src/main/java/net/kapcake/bankingservice/controllers/AuthController.java b/src/main/java/net/kapcake/bankingservice/controllers/AuthController.java index 739f476..1c0264c 100644 --- a/src/main/java/net/kapcake/bankingservice/controllers/AuthController.java +++ b/src/main/java/net/kapcake/bankingservice/controllers/AuthController.java @@ -1,5 +1,7 @@ package net.kapcake.bankingservice.controllers; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; @@ -27,6 +29,8 @@ public class AuthController { this.userService = userService; } + @SecurityRequirement(name = "basic") + @Operation(summary = "Login using basic authentication to get a session cookie") @PostMapping("/login") public void login(HttpServletRequest request) { Authentication auth = (Authentication) request.getUserPrincipal(); diff --git a/src/main/java/net/kapcake/bankingservice/controllers/BankingServiceController.java b/src/main/java/net/kapcake/bankingservice/controllers/BankingServiceController.java index 800baeb..f396bb7 100644 --- a/src/main/java/net/kapcake/bankingservice/controllers/BankingServiceController.java +++ b/src/main/java/net/kapcake/bankingservice/controllers/BankingServiceController.java @@ -1,5 +1,6 @@ package net.kapcake.bankingservice.controllers; +import io.swagger.v3.oas.annotations.Parameter; import jakarta.validation.Valid; import net.kapcake.bankingservice.exceptions.ValidationException; import net.kapcake.bankingservice.model.dtos.BankAccountDTO; @@ -43,7 +44,10 @@ public class BankingServiceController { } @GetMapping("/payments") - public List getPayments(@AuthenticationPrincipal UserDetailsImpl authenticatedUser, @RequestBody(required = false) @Valid PaymentFilter paymentFilter, BindingResult bindingResult) { + public List getPayments(@AuthenticationPrincipal UserDetailsImpl authenticatedUser, + @Parameter(description = "Filter to be applied") + @RequestBody(required = false) @Valid PaymentFilter paymentFilter, + BindingResult bindingResult) { if (bindingResult.hasErrors()) { String errorString = getErrorString(bindingResult); throw new ValidationException("Payment filter is invalid: " + errorString);