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);