Skip to main content

How to Use swagger in your project | How to configure swagger in your project

 This is the Dependency you have to add

===================================================

1.Springfox Swagger UI 


<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->


<dependency>

    <groupId>io.springfox</groupId>

    <artifactId>springfox-swagger-ui</artifactId>

    <version>2.6.1</version>

</dependency>


2. springfox swagger2


<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->

<dependency>

    <groupId>io.springfox</groupId>

    <artifactId>springfox-swagger2</artifactId>

    <version>2.6.1</version>

</dependency>


--------------------------------------------------------------------

2. Write Controller class like that

  package com.app.rest;


import org.springframework.http.HttpStatus;

import org.springframework.http.ResponseEntity;

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RestController;


import com.app.request.PassengerInfo;

import com.app.responce.TicketInfo;




@RestController

public class AirIndiaRestController {

@PostMapping(value="/bootFlightTicket",

consumes= {

   "application/json",

   "application/xml"

       },

       produces= {

       "application/json",

       "application/xml"

       }

)

public ResponseEntity<TicketInfo> bookTicket(@RequestBody  PassengerInfo info){

//Write a logic to book ticket

//send ticket info

TicketInfo ticket=new TicketInfo();

ticket.setName(info.getFname()+"  "+info.getLname());

ticket.setFrom(info.getFrom());

ticket.setTo(info.getTo());

ticket.setJourneyDate(info.getJourneyDate());

ticket.setTicketPrice("4560.00 INR");

ticket.setTicketStatus("CONFORMED");

return new ResponseEntity<TicketInfo>(ticket,HttpStatus.CREATED);

}


}


-------------------------------------------------------------------------------------------

3. Write one configuration class of create swagger documentation


package com.app.config;


import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;


import springfox.documentation.builders.PathSelectors;

import springfox.documentation.builders.RequestHandlerSelectors;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;

import springfox.documentation.swagger2.annotations.EnableSwagger2;


@Configuration

@EnableSwagger2

public class SwaggerConfig {

@Bean

   public Docket rstApi() {

   

   return new Docket(DocumentationType.SWAGGER_2)

   .select()

   .apis(RequestHandlerSelectors.basePackage("com.app.rest"))

   .paths(PathSelectors.any())

   .build();

     }


}



===========================================================

For Testing Purpose you have to use a browser like that

Generate Swagger Documentations Url:

http://localhost:8023/swagger-ui.html


Generate Documentation then hit this URL:

  http://localhost:8023/v2/api-docs

The output is like that:


{"swagger": "2.0","info": {"description": "Api Documentation","version": "1.0","title": "Api Documentation","termsOfService": "urn:tos","contact": {},"license": {"name": "Apache 2.0","url": "http://www.apache.org/licenses/LICENSE-2.0"}},"host": "localhost:8023","basePath": "/","tags": [{"name": "air-india-rest-controller","description": "Air India Rest Controller"}],"paths": {"/bootFlightTicket": {"post": {"tags": ["air-india-rest-controller"],"summary": "bookTicket","operationId": "bookTicketUsingPOST","consumes": ["application/xml","application/json"],"produces": ["application/xml","application/json"],"parameters": [{"in": "body","name": "info","description": "info","required": true,"schema": {"$ref": "#/definitions/PassengerInfo"}}],"responses": {"200": {"description": "OK","schema": {"$ref": "#/definitions/TicketInfo"}},"201": {"description": "Created"},"401": {"description": "Unauthorized"},"403": {"description": "Forbidden"},"404": {"description": "Not Found"}}}}},"definitions": {"TicketInfo": {"type": "object","properties": {"flightId": {"type": "string"},"from": {"type": "string"},"journeyDate": {"type": "string"},"name": {"type": "string"},"ticketPrice": {"type": "string"},"ticketStatus": {"type": "string"},"to": {"type": "string"}}},"PassengerInfo": {"type": "object","properties": {"fname": {"type": "string"},"from": {"type": "string"},"journeyDate": {"type": "string"},"lname": {"type": "string"},"ticketId": {"type": "string"},"to": {"type": "string"}}}}}

If you  hit this you will get a result of your swagger




Comments

Popular posts from this blog

Generate Documentation for Spring Boot API with swagger and Open API 3

 ðŸ˜‚ How to Generate Documentation for Spring Boot API project Make sure your Project having a swagger or open API 3 Dependency then only you get proper Documentation for your Service. ---------------------------------------------------------------------------- Every method or API above you have to Write Like that then only you get proper Documentation If you do everything in your Application and Run your Application and go to browse and search. . http://localhost:8080/v3/api-docs/ if you want to learn more go with this one.  Open API-3   1. For Return List of Object then you have to use this API operation  @Operation(summary = "This will fetch List of Patient Detailas base on Hospital Name") @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Successfully fetch All Patient Details from Database ", content = {  @Content(mediaType = "application/json" ,array = @ArraySchema(schema =@Schema(implementation =PatientDe...

#FibonacciNumberSeries Write a program of Fibonacci Number Series|| Fib...

Fibonacci Number Series ============================================ 0 1 1 2 3 5 8 13............. a=0; b=1; i=2; printf(a,b); while(i<=n){ c=a+b; printf(c); a=b; b=c; i++; } =========================================================================== import java.util.Scanner; class Fibonacci { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int a=0,b=1,c; System.out.print(a+" "+b); for(int i=2;i

In a new programming language how can store multiple types of data in a single variable OR is it possible how can store multiple types of data in a single variable in programming langauge

In a new programming language how can store multiple types of data in a single variable  OR is it possible how can store multiple types of data in a single variable in a programming language Here In a new programming language how can store multiple types of  data in a single variable   help you make the new  concepts, you are learning a programming  Languages really very important: Ideally Yes. If you create an Array of objects. Then it's possible to store any data type with it as an object is the base class. ArrayList can hold multiple types of data, but array doesn't. Variables Variables can be thought of as ‘containers’ for data. Each variable has to  have a unique name, so that you can refer back to it in the program. By using variables, we can refer to values that have not yet been defined.  For example, we can refer to the speed of the ball in different parts of the  game code, but calculate the ball speed later based on different input...