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

How to Send OTP in Mobile Number | login with OTP mobile Number | How to send OTP in mobile no with Spring Boot APP

   ðŸ˜‚               Login with Mobile Number OTP ---------------------------------------------------------------------------- If you want to develop a project to log in with OTP mobile Number in Spring Boot Applications then this post for you. In this post, I am going to use some other service to send the OTP in mobile number. we have to use it in this project spring boot. we are going to use Twilio to send SMS. we are going to use a web socket to send the data from the browser to the SMS gateway. Oracle Database for store the user details. org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-thymeleaf 2.3.3.RELEASE com.twilio.sdk twilio 7.1.0 org.springframework.boot spring-boot-starter-websocket org.springframework.boot spring-boot-devtools runtime true package com.app; impo...

How can we create Auto generated field or ID for mongodb using spring boot

😂 How can we create an Auto-generated field or ID for MongoDB using spring boot? First Create One Application Like Mongodb_sequence-id-generator Pom.XML org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-mongodb de.flapdoodle.embed de.flapdoodle.embed.mongo User.java package com.app; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Transient; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "users_db") public class User { @Transient public static final String SEQUENCE_NAME = "users_sequence"; @Id private long id; private String firstName; private String lastName; private String email; public User() { } public User(String firstName, String lastName, String email) { this.firstName = firstName; this.lastName = la...

Send Email with Spring Boot API | Spring Boot API send email

              😂How to Send Email with Spring Boot API In this post, we are going to implement a project like send an email to the given email Id with Spring Boot we can do this. In this project, users have to send emails and we have to send the email for forgetting the password. Send Email with Spring Boot API 1.pom.xml   Add this despondency . org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime true org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-mail 2.application.properties file Add this one server.port=8023 spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=technoidentity.vitalz@gmail.com spring.mail.password=technoidentity12345 # Other proper...