-
Notifications
You must be signed in to change notification settings - Fork 536
Closed
Description
The test code is as follows. V3 output is fine, but V2 does not work. Is there something wrong with my code
`package com.example.demo;
import com.google.gson.Gson;
import io.swagger.parser.OpenAPIParser;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.parser.OpenAPIV3Parser;
import io.swagger.v3.parser.core.models.ParseOptions;
import io.swagger.v3.parser.core.models.SwaggerParseResult;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
@SpringBootTest
class DemoApplicationTests {
@Test
void testV2ResolveFully(){
ParseOptions options = new ParseOptions();
options.setResolveFully(true);
OpenAPIParser openAPIParser = new OpenAPIParser();
SwaggerParseResult swaggerParseResult = openAPIParser.readLocation("https://petstore.swagger.io/v2/swagger.json", new ArrayList<>(), options);
System.out.println(new Gson().toJson(swaggerParseResult.getOpenAPI().getPaths().get("/pet").getPut().getRequestBody().getContent().get("application/json").getSchema()));
//print : {"$ref":"#/components/schemas/Pet","exampleSetFlag":false}
}
@Test
public void testV3ResolveFully(){
ParseOptions options = new ParseOptions();
options.setResolveFully(true);
OpenAPI openAPI = new OpenAPIV3Parser().read("https://petstore3.swagger.io/api/v3/openapi.json",new ArrayList<>(),options);
System.out.println(new Gson().toJson(openAPI.getPaths().get("/pet").getPut().getRequestBody().getContent().get("application/json").getSchema()) );
/*print: {"required":["name","photoUrls"],"type":"object","properties":{"id":{"type":"integer","format":"int64","example":10,"exampleSetFlag":true},"name":{"type":"string","example":"doggie","exampleSetFlag":true},"category":{"type":"object","properties":{"id":{"type":"integer","format":"int64","example":1,"exampleSetFlag":true},"name":{"type":"string","example":"Dogs","exampleSetFlag":true}},"xml":{"name":"category"},"exampleSetFlag":false},"photoUrls":{"type":"array","xml":{"wrapped":true},"exampleSetFlag":false},"tags":{"type":"array","xml":{"wrapped":true},"exampleSetFlag":false},"status":{"type":"string","description":"pet status in the store","_enum":["available","pending","sold"],"exampleSetFlag":false}},"xml":{"name":"pet"},"exampleSetFlag":false}*/
}
}
`
Metadata
Metadata
Assignees
Labels
No labels