update swagger configure
This commit is contained in:
@@ -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<ResponseModel> 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<ResponseModel> 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<ResponseModel> 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<ResponseModel> 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<ResponseModel> 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<ResponseModel> 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<ResponseModel> 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<ResponseModel> handleBillValidateCallback(
|
||||
@RequestBody FetchBillValidateResponse fetchBillValidateResponse) {
|
||||
ResponseModel genralResp = agentService.processBillValidateCallback(fetchBillValidateResponse);
|
||||
|
||||
Reference in New Issue
Block a user