সম্প্রতি আমি স্প্রিংএমভিসি এবং সোয়াগার-ইউআই (ভি 2) সহ বিশ্রামের এপিআই লিখেছি । আমি পোস্টম্যান এ আমদানি কার্যক্রম লক্ষ্য করেছি:
সুতরাং আমার প্রশ্নটি কীভাবে পোস্টম্যানের ফাইলটি তৈরি করবেন?
আমি সোয়াগার এর সাথে পরিচিত নই।
উত্তর:
আমি পিএইচপি-তে কাজ করি এবং এপিআইগুলি নথির জন্য সোয়াগার 2.0 ব্যবহার করেছি। সোয়াগার ডকুমেন্টটি ফ্লাইতে তৈরি করা হয়েছিল (কমপক্ষে এটি আমি পিএইচপি ব্যবহার করি)। দস্তাবেজটি JSON ফর্ম্যাটে তৈরি হয়েছে।
নমুনা নথি
{
"swagger": "2.0",
"info": {
"title": "Company Admin Panel",
"description": "Converting the Magento code into core PHP and RESTful APIs for increasing the performance of the website.",
"contact": {
"email": "jaydeep1012@gmail.com"
},
"version": "1.0.0"
},
"host": "localhost/cv_admin/api",
"schemes": [
"http"
],
"paths": {
"/getCustomerByEmail.php": {
"post": {
"summary": "List the details of customer by the email.",
"consumes": [
"string",
"application/json",
"application/x-www-form-urlencoded"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "email",
"in": "body",
"description": "Customer email to ge the data",
"required": true,
"schema": {
"properties": {
"id": {
"properties": {
"abc": {
"properties": {
"inner_abc": {
"type": "number",
"default": 1,
"example": 123
}
},
"type": "object"
},
"xyz": {
"type": "string",
"default": "xyz default value",
"example": "xyz example value"
}
},
"type": "object"
}
}
}
}
],
"responses": {
"200": {
"description": "Details of the customer"
},
"400": {
"description": "Email required"
},
"404": {
"description": "Customer does not exist"
},
"default": {
"description": "an \"unexpected\" error"
}
}
}
},
"/getCustomerById.php": {
"get": {
"summary": "List the details of customer by the ID",
"parameters": [
{
"name": "id",
"in": "query",
"description": "Customer ID to get the data",
"required": true,
"type": "integer"
}
],
"responses": {
"200": {
"description": "Details of the customer"
},
"400": {
"description": "ID required"
},
"404": {
"description": "Customer does not exist"
},
"default": {
"description": "an \"unexpected\" error"
}
}
}
},
"/getShipmentById.php": {
"get": {
"summary": "List the details of shipment by the ID",
"parameters": [
{
"name": "id",
"in": "query",
"description": "Shipment ID to get the data",
"required": true,
"type": "integer"
}
],
"responses": {
"200": {
"description": "Details of the shipment"
},
"404": {
"description": "Shipment does not exist"
},
"400": {
"description": "ID required"
},
"default": {
"description": "an \"unexpected\" error"
}
}
}
}
},
"definitions": {
}
}
নিম্নলিখিত হিসাবে পোস্টম্যান এ আমদানি করা যায়।
আপনি 'আমদানি থেকে লিঙ্ক' ব্যবহার করতে পারেন। এখানে ইউআরএল আটকান যা সোয়াগার বা অন্য কোনও এপিআই ডকুমেন্ট টুল থেকে APIs এর JSON ফর্ম্যাট তৈরি করে।
এটি আমার নথি (জেএসএন) প্রজন্মের ফাইল। এটি পিএইচপি-তে রয়েছে। সোয়াগার সহ আমার জাভা সম্পর্কিত কোনও ধারণা নেই।
<?php
require("vendor/autoload.php");
$swagger = \Swagger\scan('path_of_the_directory_to_scan');
header('Content-Type: application/json');
echo $swagger;
গৃহীত উত্তর সঠিক তবে আমি এর জন্য সম্পূর্ণ পদক্ষেপগুলি আবার লিখব java
।
আমি বর্তমানে ব্যবহার করছি Swagger V2
সঙ্গে Spring Boot 2
এবং এটা সহজবোধ্য পদক্ষেপ 3 প্রক্রিয়া।
পদক্ষেপ 1:pom.xml
ফাইলে প্রয়োজনীয় নির্ভরতা যুক্ত করুন। দ্বিতীয় নির্ভরতা হ'ল youচ্ছিক এটি কেবল আপনার প্রয়োজন হলে ব্যবহার করুন Swagger UI
।
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
পদক্ষেপ 2: কনফিগারেশন ক্লাস যুক্ত করুন
@Configuration
@EnableSwagger2
public class SwaggerConfig {
public static final Contact DEFAULT_CONTACT = new Contact("Usama Amjad", "https://stackoverflow.com/users/4704510/usamaamjad", "hello@email.com");
public static final ApiInfo DEFAULT_API_INFO = new ApiInfo("Article API", "Article API documentation sample", "1.0", "urn:tos",
DEFAULT_CONTACT, "Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList<VendorExtension>());
@Bean
public Docket api() {
Set<String> producesAndConsumes = new HashSet<>();
producesAndConsumes.add("application/json");
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(DEFAULT_API_INFO)
.produces(producesAndConsumes)
.consumes(producesAndConsumes);
}
}
পদক্ষেপ 3: সেটআপ সম্পূর্ণ এবং এখন আপনাকে এপিআইগুলি ডকুমেন্ট করতে হবেcontrollers
@ApiOperation(value = "Returns a list Articles for a given Author", response = Article.class, responseContainer = "List")
@ApiResponses(value = { @ApiResponse(code = 200, message = "Success"),
@ApiResponse(code = 404, message = "The resource you were trying to reach is not found") })
@GetMapping(path = "/articles/users/{userId}")
public List<Article> getArticlesByUser() {
// Do your code
}
ব্যবহার:
আপনি আপনার ডকুমেন্টেশনটি http://localhost:8080/v2/api-docs
কেবল এটি অনুলিপি থেকে সংগ্রহ করতে এবং সংগ্রহকে আমদানি করতে পোস্টম্যানে পেস্ট করতে পারেন।
Swচ্ছিক সোয়াগার ইউআই: আপনি অন্য কোনও ক্লায়েন্ট ছাড়াই স্ট্যান্ডলোন ইউআইও ব্যবহার করতে পারেন http://localhost:8080/swagger-ui.html
এবং এটি বেশ ভাল, আপনি কোনও প্রকার ঝামেলা ছাড়াই আপনার ডকুমেন্টেশন হোস্ট করতে পারেন।
এটি যাচাই করতে আপনি কিছু নমুনা সোয়াগার ফাইলও অনলাইনে পেতে পারেন (যদি আপনার সোয়াজার ডকে আপনার কোনও ত্রুটি থাকে)।