diff --git a/src/main/java/com/billpaymentservice/bbps/controller/AgentController.java b/src/main/java/com/billpaymentservice/bbps/controller/AgentController.java index 54ec063..81fc3a1 100644 --- a/src/main/java/com/billpaymentservice/bbps/controller/AgentController.java +++ b/src/main/java/com/billpaymentservice/bbps/controller/AgentController.java @@ -9,7 +9,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.billpaymentservice.bbps.dto.GeneralResp; import com.billpaymentservice.bbps.dto.ResponseModel; import com.billpaymentservice.bbps.dto.request.BillFetchByBillIdRequest; import com.billpaymentservice.bbps.dto.request.BillFetchByClientIdRequest; @@ -19,6 +18,14 @@ import com.billpaymentservice.bbps.dto.request.FetchBillValidatestRequest; import com.billpaymentservice.bbps.dto.response.BillDataResponse; import com.billpaymentservice.bbps.dto.response.FetchBillValidateResponse; import com.billpaymentservice.bbps.service.AgentService; +import com.billpaymentservice.bbps.util.ApiDocCommonResponses; +import com.billpaymentservice.bbps.util.BBPSConstant; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; @RestController @RequestMapping("/agent") @@ -31,20 +38,22 @@ public class AgentController { this.agentService = agentService; } - /** - * Fetches bill details from external BBPS service - */ - @PostMapping(value = "/requestBillFetch", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/requestBillFetch") + @Operation(summary = "Initiate bill fetch request", description = "This API initiates a bill fetch request for the given customer/biller details.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill fetch request initiated successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity requestBillFetch(@Validated @RequestBody FetchBillRequest fetchBillRequest) { ResponseModel response = agentService.initiateBillFetch(fetchBillRequest); return ResponseEntity.ok(response); } - /** - * Fetches bill details from external BBPS service - */ - @PostMapping(value = "/fetchBillById", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/fetchBillById") + @Operation(summary = "Fetch bill details by bill ID", description = "This API retrieves bill details from the BBPS system using the provided bill ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill details fetched successfully by bill ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity fetchBillById( @Validated @RequestBody BillFetchByBillIdRequest billFetchByBillIdRequest) { @@ -52,10 +61,11 @@ public class AgentController { return ResponseEntity.ok(response); } - /** - * Fetches bill details validate from external BBPS service - */ - @PostMapping(value = "/requestBillValidate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/requestBillValidate") + @Operation(summary = "Initiate bill validation request", description = "This API validates customer input and bill details .") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill validation initiated successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity requestBillValidate( @Validated @RequestBody FetchBillValidatestRequest fetchBillValidateRequest) { @@ -63,10 +73,11 @@ public class AgentController { return ResponseEntity.ok(response); } - /** - * Fetches bill details by bill Id from external BBPS service - */ - @PostMapping(value = "/requestBillValidateByBillId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/requestBillValidateByBillId") + @Operation(summary = "Bill validate by details by bill ID", description = "This API retrieves bill details from BBPS using the provided bill ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill details fetched successfully by bill ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity requestBillByBillId( @Validated @RequestBody BillFetchByBillIdRequest billRequest) { @@ -74,7 +85,11 @@ public class AgentController { return ResponseEntity.ok(response); } - @PostMapping(value = "/fetchBillByClientReqId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/fetchBillByClientReqId") + @Operation(summary = "Fetch bill details by client request ID", description = "This API fetches bill details using the client-generated request ID (clientReqId).") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill details fetched successfully using client request ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity fetchBillByClientReqId( @Validated @RequestBody BillFetchByClientIdRequest billFetchByClientIdRequest) { @@ -82,7 +97,11 @@ public class AgentController { return ResponseEntity.ok(response); } - @PostMapping(value = "/fetchBillValidateByClientReqId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/fetchBillValidateByClientReqId") + @Operation(summary = "Fetch bill details by client request ID", description = "This API retrieves bill details using the client's request ID (clientReqId).") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill details fetched successfully using client request ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity fetchBillValidateByClientReqId( @Validated @RequestBody BillValidateByClientIdRequest billValidateByClientIdRequest) { @@ -90,14 +109,22 @@ public class AgentController { return ResponseEntity.ok(response); } - @PostMapping(value = "/callback/billFetch", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/callback/billFetch") + @Operation(summary = "Handle bill fetch callback", description = "This callback API is invoked by BBPS/Biller to send bill fetch response.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Callback received and processed successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity handleBillFetchCallback(@RequestBody BillDataResponse billDataResponse) { ResponseModel genralResp = agentService.processBillFetchCallback(billDataResponse); // Return a response indicating successful receipt return ResponseEntity.ok(genralResp); } - @PostMapping(value = "/callback/billValidate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/callback/billValidate") + @Operation(summary = "Handle bill validate callback", description = "This callback API is triggered by BBPS/Biller to send bill validation response.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Callback received and processed successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity handleBillValidateCallback( @RequestBody FetchBillValidateResponse fetchBillValidateResponse) { ResponseModel genralResp = agentService.processBillValidateCallback(fetchBillValidateResponse); diff --git a/src/main/java/com/billpaymentservice/bbps/controller/AuthController.java b/src/main/java/com/billpaymentservice/bbps/controller/AuthController.java index 32aecb3..d72de6b 100644 --- a/src/main/java/com/billpaymentservice/bbps/controller/AuthController.java +++ b/src/main/java/com/billpaymentservice/bbps/controller/AuthController.java @@ -14,7 +14,14 @@ import com.billpaymentservice.bbps.dto.auth.LoginRequest; import com.billpaymentservice.bbps.dto.auth.RegisterRequest; import com.billpaymentservice.bbps.dto.auth.VerifyOtpRequest; import com.billpaymentservice.bbps.service.AuthService; +import com.billpaymentservice.bbps.util.ApiDocCommonResponses; +import com.billpaymentservice.bbps.util.BBPSConstant; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; import lombok.extern.slf4j.Slf4j; @RestController @@ -29,25 +36,42 @@ public class AuthController { this.authService = authService; } - @PostMapping(value = "/sendOtp", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/sendOtp") + @Operation(summary = "Send OTP to user", description = "This API sends an OTP to the user's registered mobile number for authentication.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "OTP sent successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity sendOtp(@Validated @RequestBody LoginRequest request) { log.info("Received sendOtp request for mobile: {}", request.getMobile()); return ResponseEntity.ok(authService.sendOtp(request)); } - @PostMapping(value = "/verifyOtp", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/verifyOtp") + @Operation(summary = "Verify OTP", description = "This API verifies the OTP entered by the user and validates the authentication flow.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "OTP verified successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses + public ResponseEntity verifyOtp(@Validated @RequestBody VerifyOtpRequest request) { return ResponseEntity.ok(authService.verifyOtp(request)); } - @PostMapping(value = "/register", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/register") + @Operation(summary = "Register a new user", description = "This API registers a new user into the system by validating the provided registration details.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "User registered successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity register(@Validated @RequestBody RegisterRequest request) { return ResponseEntity.ok(authService.registerUser(request)); } @PostMapping("/loginWithoutDecryption") + @Operation(summary = "Login without decryption (Testing Only)", description = "This API is used only for testing purposes. It authenticates the user without decrypting the credentials, typically used when token generation fails or decryption flow is not enabled.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "User authenticated successfully (Testing Only)", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity login(@RequestBody LoginRequest loginRequest) { return ResponseEntity.ok(authService.authenticateUser(loginRequest)); diff --git a/src/main/java/com/billpaymentservice/bbps/controller/ComplainController.java b/src/main/java/com/billpaymentservice/bbps/controller/ComplainController.java index 47d7245..686fc09 100644 --- a/src/main/java/com/billpaymentservice/bbps/controller/ComplainController.java +++ b/src/main/java/com/billpaymentservice/bbps/controller/ComplainController.java @@ -16,10 +16,16 @@ import com.billpaymentservice.bbps.dto.request.AllMasterOptionsRequest; import com.billpaymentservice.bbps.dto.request.ComplainStatusRequest; import com.billpaymentservice.bbps.dto.request.ComplaintRequestDTO; import com.billpaymentservice.bbps.dto.request.GetTicketLatestStausRequest; - -import com.billpaymentservice.bbps.dto.request.ViewAllComplaintsRequest; import com.billpaymentservice.bbps.dto.request.ViewAllComplaintsTicketsRequest; import com.billpaymentservice.bbps.service.ComplainService; +import com.billpaymentservice.bbps.util.ApiDocCommonResponses; +import com.billpaymentservice.bbps.util.BBPSConstant; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; @RestController @RequestMapping("/complaints") @@ -31,19 +37,26 @@ public class ComplainController { private final ComplainService complainService; - // ✅ Constructor name fixed and variable consistent public ComplainController(ComplainService complainService) { this.complainService = complainService; } - @PostMapping(value = "/addComplainTicket", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/addComplainTicket") + @Operation(summary = "Add complaint ticket", description = "This API creates a new complaint ticket based on the provided request details.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Complaint ticket created successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity addComplain(@Validated @RequestBody ComplaintRequestDTO complainRequestDTO) { ResponseModel response = complainService.addComplain(complainRequestDTO); return ResponseEntity.ok(response); } - @PostMapping(value = "/checkTicketStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/checkTicketStatus") + @Operation(summary = "Fetch latest complaint ticket status", description = "This API retrieves the latest status of a complaint ticket based on the provided ticket ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Complaint ticket status fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity getComplaintStatus( @Validated @RequestBody GetTicketLatestStausRequest request) { log.info("Received complaint status request for complaintId: {}", request.getTicketId()); @@ -51,7 +64,11 @@ public class ComplainController { return ResponseEntity.ok(response); } - @PostMapping(value = "/viewComplainsTicketHistory", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/viewComplainsTicketHistory") + @Operation(summary = "View complaint ticket history", description = "This API retrieves the full complaint history for the provided ticket ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Complaint ticket history fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity viewComplaintHistory(@Validated @RequestBody ComplainStatusRequest request) { log.info("Received complaint View Complaint History request for ticketId: {}", request.getTicketId()); ResponseModel response = complainService.viewComplaintHistory(request); @@ -59,6 +76,10 @@ public class ComplainController { } @PostMapping("/viewTicketById") + @Operation(summary = "View complaint details by ID", description = "This API retrieves the complaint details for the given complaint ticket ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Complaint details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity viewComplaintById(@Validated @RequestBody ComplainStatusRequest request) { log.info("Received complaint View Complaint By ID request for complaintId: {}", request.getTicketId()); ResponseModel response = complainService.viewComplaintById(request); @@ -66,19 +87,33 @@ public class ComplainController { } @PostMapping("/allMasterOptions") + @Operation(summary = "Fetch all master options by ID", description = "This API retrieves all master option values based on the provided ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Master options fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity getAllStatuses(@Validated @RequestBody AllMasterOptionsRequest request) { return ResponseEntity.ok(complainService.getAllActiveStatuses(request)); } @PostMapping("/viewAllComplaints") - public ResponseEntity viewAllComplaints(@Validated @RequestBody ViewAllComplaintsTicketsRequest request) { + @Operation(summary = "View all complaints by status type", description = "This API retrieves all complaints filtered by the provided status type.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "All complaints fetched successfully based on status type", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses + public ResponseEntity viewAllComplaints( + @Validated @RequestBody ViewAllComplaintsTicketsRequest request) { log.info("Received request complaint View All Complaints for Status Type={}", request.getStatusType()); ResponseModel response = complainService.ViewAllComplaints(request); return ResponseEntity.ok(response); } - - @PostMapping(value = "/viewAllComplaintsByUserId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity viewAllComplaintsByUserId(@Validated @RequestBody AllMasterOptionsRequest request) { + + @PostMapping(value = "/viewAllComplaintsByUserId") + @Operation(summary = "View all complaints by user ID", description = "This API retrieves all complaint tickets associated with the provided user ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "All complaints fetched successfully by user ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses + public ResponseEntity viewAllComplaintsByUserId( + @Validated @RequestBody AllMasterOptionsRequest request) { ResponseModel response = complainService.viewAllComplaintsByUserId(request); return ResponseEntity.ok(response); } diff --git a/src/main/java/com/billpaymentservice/bbps/controller/MasterDataController.java b/src/main/java/com/billpaymentservice/bbps/controller/MasterDataController.java index 7520b33..8c467ae 100644 --- a/src/main/java/com/billpaymentservice/bbps/controller/MasterDataController.java +++ b/src/main/java/com/billpaymentservice/bbps/controller/MasterDataController.java @@ -16,13 +16,18 @@ import com.billpaymentservice.bbps.dto.request.BillerDetailRequest; import com.billpaymentservice.bbps.dto.request.ContactMasterRequest; import com.billpaymentservice.bbps.dto.request.CustomParamRequest; import com.billpaymentservice.bbps.dto.request.DispositionRequest; -import com.billpaymentservice.bbps.dto.request.LoginRequest; import com.billpaymentservice.bbps.dto.request.MasterCategoryRequest; import com.billpaymentservice.bbps.dto.request.MasterRequest; import com.billpaymentservice.bbps.dto.request.PlanRequest; -import com.billpaymentservice.bbps.dto.response.AuthResponses; import com.billpaymentservice.bbps.service.MasterDataService; +import com.billpaymentservice.bbps.util.ApiDocCommonResponses; +import com.billpaymentservice.bbps.util.BBPSConstant; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; import jakarta.validation.Valid; @RequestMapping("/masterData") @@ -39,8 +44,12 @@ public class MasterDataController { this.masterDataService = masterDataService; } - /** Get Details of the biller by billId **/ - @PostMapping(value = "/getBillerDetails", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/getBillerDetails") + @Operation(summary = "Fetch biller details", description = "Get biller details by biller id and returns the result") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Biller details fetch successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + + @ApiDocCommonResponses public ResponseEntity getBillerDetails(@Valid @RequestBody BillerDetailRequest billerDetailRequest) { log.info("Received biller details request for billerId: {}", billerDetailRequest.getBillerId()); @@ -48,32 +57,41 @@ public class MasterDataController { return ResponseEntity.ok(masterDataService.getBillerByBillerId(billerDetailRequest)); } - /** Get Master Contact **/ - @PostMapping(value = "/getContactMasterResponse", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/getContactMasterResponse") + @Operation(summary = "Fetch contact master data", description = "Fetch contact master and returns the response") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Fetch contact master response fetch successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + + @ApiDocCommonResponses public ResponseEntity getContactMaster( @Validated @RequestBody ContactMasterRequest contactMasterRequest) { return ResponseEntity.ok(masterDataService.getContactMaster(contactMasterRequest)); } - @PostMapping(value = "/getDispostionDetail", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/getDispostionDetail") + @Operation(summary = "Fetch disposition details", description = "Fetch disposition details for a given ticket and return the response") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Disposition details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) public ResponseEntity getDispostionDetail( @Validated @RequestBody DispositionRequest dispositionDetailRequest) { return ResponseEntity.ok(masterDataService.getDispositionDetails(dispositionDetailRequest)); } - @PostMapping(value = "/getTicketDispositions", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/getTicketDispositions") + @Operation(summary = "Fetch ticket disposition details", description = "Fetch ticket disposition details for a given ticket and return the response") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Ticket disposition details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) public ResponseEntity getTicketDispositions( @Validated @RequestBody DispositionRequest dispositionDetailRequest) { return ResponseEntity.ok(masterDataService.getTicketDispositions(dispositionDetailRequest)); } - /** - * Get CustomerParam by billerId.The parameter is different from the data we are - * getting in the billerDetail - **/ - - @PostMapping(value = "/getCustomerParamDetails", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/getCustomerParamDetails") + @Operation(summary = "Fetch customer parameter details by biller ID", description = "API fetches the customer parameter configuration based on the provided biller ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Customer parameter details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity getCustomerParamDetails( @Validated @RequestBody CustomParamRequest customerParamRequest) { @@ -82,68 +100,68 @@ public class MasterDataController { return ResponseEntity.ok(masterDataService.getCustomerParamByBillerId(customerParamRequest)); } - /** - * Get All Master Data .The parameter is different from the data we are getting - * Made By Arham in the MasterRequest - **/ @PostMapping("/getAllMastersData") + @Operation(summary = "Fetch all master data", description = "API retrieves all the master data based on the provided .") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Master data fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseModel fetchMasterData(@Validated @RequestBody MasterRequest masterRequest) { return masterDataService.getMasterData(masterRequest); } - /** - * POST Master CategoryResponseList Wise API Fetch CategoryResponseList Wise - * from BBPS URL Made By Arham - **/ - @PostMapping(value = "/getMasterCategoryWise", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/getMasterCategoryWise") + @Operation(summary = "Fetch master data category-wise", description = "API retrieves master data based on the selected category.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Category-wise master data fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity getMasterDataCategoryWise( @Valid @RequestBody MasterCategoryRequest masterRequest) { return ResponseEntity.ok(masterDataService.fetchMasterDataCategoryWise(masterRequest)); } - /** - * POST Customer Param Groups API Fetch CategoryResponseList Wise from BBPS URL - * Made By Arham - **/ - @PostMapping(value = "/customerParamGroupsByBillerId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/customerParamGroupsByBillerId") + @Operation(summary = "Fetch customer parameter groups by biller ID", description = "API retrieves all customer parameter groups configured for the specified biller ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Customer parameter groups fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity getCustomerParamGroup( @Validated @RequestBody BillerDetailRequest requestModel) { return ResponseEntity.ok(masterDataService.fetchCustomerParamGroup(requestModel)); } - /** - * POST Fetch All AMount Options By Biller Id API Fetch CategoryResponseList - * Wise from BBPS URL Made By Arham - **/ - @PostMapping(value = "/fetchAmountOptionsByBillerId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/fetchAmountOptionsByBillerId") + @Operation(summary = "Fetch all master amount options by biller ID", description = "API retrieves all the master amount options configured for the given biller ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Master amount options fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity fetchAllMasterAmountOptionsByBillerId( @Validated @RequestBody BillerDetailRequest requestModel) { return ResponseEntity.ok(masterDataService.fetchAllMasterAmountOption(requestModel)); } - /** - * POST Fetch All AMount Options By Biller Id API Fetch CategoryResponseList - * Wise from BBPS URL Made By Arham - **/ - @PostMapping(value = "/fetchAllPlanCategoriesByBillerId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/fetchAllPlanCategoriesByBillerId") + @Operation(summary = "Fetch plan categories by biller ID", description = "API retrieves all plan categories available for the specified biller ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Plan categories fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity fetchPlanCategories(@Validated @RequestBody BillerDetailRequest requestModel) { return ResponseEntity.ok(masterDataService.fetchPlanCategorie(requestModel)); } - /** - * POST Fetch Initiating Channel API Fetch CategoryResponseList Wise from BBPS - * URL Made By Arham - **/ - @PostMapping(value = "/initiatingChannel", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/initiatingChannel") + @Operation(summary = "Fetch initiating channel details by biller ID", description = "API retrieves initiating channel information configured for the specified biller ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Initiating channel details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity initiatingChannel(@Validated @RequestBody BillerDetailRequest requestModel) { return ResponseEntity.ok(masterDataService.fetchInitiatingChannel(requestModel)); } - /** - * POST Fetch All AMount Options By Biller Id API Fetch CategoryResponseList - * Wise from BBPS Made By Arham URL - **/ - @PostMapping(value = "/fetchPlanByCategoryName", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/fetchPlanByCategoryName") + @Operation(summary = "Fetch plans by category name", description = "API retrieves all available plans for the specified category name.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Plans fetched successfully based on category name", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity fetchPlanByCategory(@Validated @RequestBody PlanRequest requestModel) { return ResponseEntity.ok(masterDataService.fetchPlanByCategories(requestModel)); } diff --git a/src/main/java/com/billpaymentservice/bbps/controller/PaymentController.java b/src/main/java/com/billpaymentservice/bbps/controller/PaymentController.java index 326d536..6fbe01a 100644 --- a/src/main/java/com/billpaymentservice/bbps/controller/PaymentController.java +++ b/src/main/java/com/billpaymentservice/bbps/controller/PaymentController.java @@ -12,10 +12,16 @@ import com.billpaymentservice.bbps.dto.ResponseModel; import com.billpaymentservice.bbps.dto.request.BillPaymentRequest; import com.billpaymentservice.bbps.dto.request.TransactionStatusRequest; import com.billpaymentservice.bbps.dto.request.TrasactionStatusByClientReqIdRequest; -import com.billpaymentservice.bbps.dto.response.TransactionStatusResponse; import com.billpaymentservice.bbps.service.PaymentService; import com.billpaymentservice.bbps.service.PaymentStartService; -import com.billpaymentservice.bbps.dto.request.PaymentStartUserRequest; +import com.billpaymentservice.bbps.util.ApiDocCommonResponses; +import com.billpaymentservice.bbps.util.BBPSConstant; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; @RestController @RequestMapping("/agent/payment") @@ -28,13 +34,16 @@ public class PaymentController { private final PaymentService paymentService; private final PaymentStartService paymentStartService; - // New constructor used by Spring to inject both services public PaymentController(PaymentService paymentService, PaymentStartService paymentStartService) { this.paymentService = paymentService; this.paymentStartService = paymentStartService; } - @PostMapping(value = "/intiatePayment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/intiatePayment") + @Operation(summary = "Initiate payment request", description = "This API initiates the payment process for the provided bill payment request.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Payment initiated successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity requestBillFetch( @Validated @RequestBody BillPaymentRequest billPaymentRequest) { @@ -42,7 +51,11 @@ public class PaymentController { return ResponseEntity.ok(response); } - @PostMapping(value = "/checkTransactionStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/checkTransactionStatus") + @Operation(summary = "Check transaction status", description = "This API checks the current status of a bill payment transaction using transactionId or clientReqId.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Transaction status fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity checkTransactionStatus( @Validated @RequestBody TransactionStatusRequest transactionStatusRequest) { @@ -50,16 +63,16 @@ public class PaymentController { return ResponseEntity.ok(response); } - @PostMapping(value = "/checkTransactionStatusByClientReqId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/checkTransactionStatusByClientReqId") + @Operation(summary = "Check transaction status by client request ID", description = "This API checks the payment transaction status using the client-generated request ID (clientReqId).") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Transaction status fetched successfully using clientReqId", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity checkTransactionStatusByClientReqId( @Validated @RequestBody TrasactionStatusByClientReqIdRequest transactionStatusRequest) { ResponseModel response = paymentService.checkTrasactionStatusByClientReqId(transactionStatusRequest); return ResponseEntity.ok(response); } - - - - - + } \ No newline at end of file diff --git a/src/main/java/com/billpaymentservice/bbps/controller/PaymentPollBackController.java b/src/main/java/com/billpaymentservice/bbps/controller/PaymentPollBackController.java index 56f9898..9cf2a57 100644 --- a/src/main/java/com/billpaymentservice/bbps/controller/PaymentPollBackController.java +++ b/src/main/java/com/billpaymentservice/bbps/controller/PaymentPollBackController.java @@ -11,6 +11,14 @@ import org.springframework.web.bind.annotation.RestController; import com.billpaymentservice.bbps.dto.ResponseModel; import com.billpaymentservice.bbps.dto.request.PollBackRequest; import com.billpaymentservice.bbps.service.PollBackService; +import com.billpaymentservice.bbps.util.ApiDocCommonResponses; +import com.billpaymentservice.bbps.util.BBPSConstant; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; @RequestMapping("/payment") @RestController @@ -21,9 +29,14 @@ public class PaymentPollBackController { public PaymentPollBackController(PollBackService pollBackService) { this.pollBackService = pollBackService; } - @PostMapping(value = "/pollback", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity startIntentPayment(@Validated @RequestBody PollBackRequest pollBackRequest) { - ResponseModel response = pollBackService.managePollBack(pollBackRequest); - return ResponseEntity.ok(response); - } + + @PostMapping(value = "/pollback") + @Operation(summary = "Process poll-back request", description = "This API handles the poll-back request from biller.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Poll Back processed successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses + public ResponseEntity startIntentPayment(@Validated @RequestBody PollBackRequest pollBackRequest) { + ResponseModel response = pollBackService.managePollBack(pollBackRequest); + return ResponseEntity.ok(response); + } } diff --git a/src/main/java/com/billpaymentservice/bbps/controller/PaymentStartController.java b/src/main/java/com/billpaymentservice/bbps/controller/PaymentStartController.java index 828464f..0774e85 100644 --- a/src/main/java/com/billpaymentservice/bbps/controller/PaymentStartController.java +++ b/src/main/java/com/billpaymentservice/bbps/controller/PaymentStartController.java @@ -12,9 +12,17 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.billpaymentservice.bbps.dto.ResponseModel; -import com.billpaymentservice.bbps.dto.request.PaymentStartUserRequest; import com.billpaymentservice.bbps.dto.request.CallbackRequest; +import com.billpaymentservice.bbps.dto.request.PaymentStartUserRequest; import com.billpaymentservice.bbps.service.PaymentStartService; +import com.billpaymentservice.bbps.util.ApiDocCommonResponses; +import com.billpaymentservice.bbps.util.BBPSConstant; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; @RestController @RequestMapping("/payment") @@ -24,15 +32,24 @@ public class PaymentStartController { public PaymentStartController(PaymentStartService paymentStartService) { this.paymentStartService = paymentStartService; } - - @PostMapping(value = "/startWebPayment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity startWebPayment(@Validated @RequestBody PaymentStartUserRequest paymentStartUserRequest) { - - ResponseModel response = paymentStartService.startWebPayment(paymentStartUserRequest); - return ResponseEntity.ok(response); - } - @PostMapping(value = "/callback/startPayment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/startWebPayment") + @Operation(summary = "Start web payment process", description = "This API initiates the payment process for a web-based transaction using user and bill details.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Payment process started successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses + public ResponseEntity startWebPayment( + @Validated @RequestBody PaymentStartUserRequest paymentStartUserRequest) { + + ResponseModel response = paymentStartService.startWebPayment(paymentStartUserRequest); + return ResponseEntity.ok(response); + } + + @PostMapping(value = "/callback/startPayment") + @Operation(summary = "Handle start payment callback", description = "This callback API is invoked by the payment gateway/BBPS to confirm the payment initiation status.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Start Payment Callback handled successfully", content = @Content(mediaType = "application/json")) }) + @ApiDocCommonResponses public ResponseEntity> handleCallback(@RequestBody CallbackRequest callbackRequest) { ResponseModel resp = paymentStartService.handleStartCallback(callbackRequest); Map result = new HashMap<>(); @@ -40,12 +57,17 @@ public class PaymentStartController { result.put("status", resp.getStatus()); return ResponseEntity.ok(result); } - - @PostMapping(value = "/startIntentPayment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity startIntentPayment(@Validated @RequestBody PaymentStartUserRequest paymentStartUserRequest) { - ResponseEntity.badRequest().body(new ResponseModel("PaymentStartService not available", "FAILED", 400, null)); - - ResponseModel response = paymentStartService.startIntentPayment(paymentStartUserRequest); - return ResponseEntity.ok(response); - } + + @PostMapping(value = "/startIntentPayment") + @Operation(summary = "Start intent payment process", description = "This API initiates the intent-based payment process for a user.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Intent payment started successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))), }) + @ApiDocCommonResponses + public ResponseEntity startIntentPayment( + @Validated @RequestBody PaymentStartUserRequest paymentStartUserRequest) { + ResponseEntity.badRequest().body(new ResponseModel("PaymentStartService not available", "FAILED", 400, null)); + + ResponseModel response = paymentStartService.startIntentPayment(paymentStartUserRequest); + return ResponseEntity.ok(response); + } } \ No newline at end of file diff --git a/src/main/java/com/billpaymentservice/bbps/controller/TxnHistoryController.java b/src/main/java/com/billpaymentservice/bbps/controller/TxnHistoryController.java index 9636731..003401f 100644 --- a/src/main/java/com/billpaymentservice/bbps/controller/TxnHistoryController.java +++ b/src/main/java/com/billpaymentservice/bbps/controller/TxnHistoryController.java @@ -13,7 +13,14 @@ import com.billpaymentservice.bbps.dto.ResponseModel; import com.billpaymentservice.bbps.dto.request.PaymentHistoryByTxnRequest; import com.billpaymentservice.bbps.dto.request.PaymentHistoryRequest; import com.billpaymentservice.bbps.service.TxnHistoryService; +import com.billpaymentservice.bbps.util.ApiDocCommonResponses; +import com.billpaymentservice.bbps.util.BBPSConstant; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; import lombok.extern.slf4j.Slf4j; @RestController @@ -29,15 +36,23 @@ public class TxnHistoryController { } - @PostMapping(value = "/paymentHistoryDetails", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/paymentHistoryDetails") + @Operation(summary = "Get payment history details", description = "This API retrieves the payment history for a user based.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Payment history fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity getPaymentHistory( @Validated @RequestBody PaymentHistoryRequest paymentHistoryRequest) { ResponseModel response = txnHistory.getPaymentHistoryDetails(paymentHistoryRequest); return ResponseEntity.ok(response); } - - @PostMapping(value = "/paymentHistoryByTxnId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + + @PostMapping(value = "/paymentHistoryByTxnId") + @Operation(summary = "Get payment history by transaction ID", description = "This API retrieves the payment details for a specific transaction using the provided transaction ID.") + @ApiResponses(value = { + @ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Payment history fetched successfully by transaction ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) }) + @ApiDocCommonResponses public ResponseEntity getPaymentHistoryByTxnId( @Validated @RequestBody PaymentHistoryByTxnRequest request) { diff --git a/src/main/java/com/billpaymentservice/bbps/util/ApiDocCommonResponses.java b/src/main/java/com/billpaymentservice/bbps/util/ApiDocCommonResponses.java new file mode 100644 index 0000000..2a7ea2a --- /dev/null +++ b/src/main/java/com/billpaymentservice/bbps/util/ApiDocCommonResponses.java @@ -0,0 +1,28 @@ +package com.billpaymentservice.bbps.util; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; + +@Target({ ElementType.METHOD }) // where this annotation can be applied +@Retention(RetentionPolicy.RUNTIME) // available at runtime +@Documented +@ApiResponses({ + @ApiResponse(responseCode = BBPSConstant.BADREQUEST_STR, description = "Bad request, invalid input data"), + // @ApiResponse(responseCode = ApplicationConstant.USER_UNAUTHORIZED_STR, + // description = "Unauthorized"), + @ApiResponse(responseCode = BBPSConstant.NOTFOUND_STR, description = "Resource not found"), + @ApiResponse(responseCode = BBPSConstant.INTERNALSERVER_ERROR_STR, description = "Internal server error"), + // 401 UNAUTHORIZED + @ApiResponse(responseCode = BBPSConstant.USER_UNAUTHORIZED_STR, description = "Unauthorized", content = @Content(mediaType = "application/json", schema = @Schema(example = "{ \"error\": \"Unauthorized\", \"message\": \"Missing or invalid token\" }"))), }) + +public @interface ApiDocCommonResponses { + +} diff --git a/src/main/java/com/billpaymentservice/bbps/util/BBPSConstant.java b/src/main/java/com/billpaymentservice/bbps/util/BBPSConstant.java index bf8d94d..62e598d 100644 --- a/src/main/java/com/billpaymentservice/bbps/util/BBPSConstant.java +++ b/src/main/java/com/billpaymentservice/bbps/util/BBPSConstant.java @@ -93,7 +93,7 @@ public class BBPSConstant { public static final String API_COMPLAINT_STATUS = "COMPLAINT_STATUS"; public static final String API_VIEW_COMPLAINT_HISTORY = "View_Complaint_History"; public static final String API_VIEW_COMPLAINT_BY_ID = "View_Complaint_By_ID"; - public static final String API_GET_ALL_MASTER_OPTIONS = "View All Options Fetch By Id"; + public static final String API_GET_ALL_MASTER_OPTIONS = "View_All_Options_Fetch_By_Id"; public static final String API_CHECK_TXN_STATUS = "CheckTxnStatus"; public static final String API_VIEW_ALL_COMPLAINTS_BY_STATUS = "View_All_Complaint_By_Status_Type"; public static final String API_VIEW_ALL_COMPLAINTS_BY_USER_ID = "View_All_Complaint_By_USER_ID"; @@ -213,4 +213,11 @@ public class BBPSConstant { public static final String callbackurl = "https://11.godemo.in/BBPS/payment/callback/startPayment"; public static final String companyName = "testing.com"; + // Swagger Configure status code using + public static final String BADREQUEST_STR = "300"; + public static final String NOTFOUND_STR = "404"; + public static final String INTERNALSERVER_ERROR_STR = "600"; + public static final String USER_UNAUTHORIZED_STR = "401"; + public static final String OK_STR = "200"; + } \ No newline at end of file diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties index 92c14ea..7574d34 100644 --- a/src/main/resources/application-local.properties +++ b/src/main/resources/application-local.properties @@ -3,6 +3,7 @@ spring.application.name=bbps # Server port server.port=9090 +spring.jpa.open-in-view=false # JPA & Hibernate spring.jpa.hibernate.ddl-auto=update