forked from loafle/openapi-generator-original
* Fix issue 5460 * Handling only first and last double quote to support example with double quote in the middle * Fix proposed by @ePaul * Add comments to explain de fixStringModel function. Add an enum model called PetStatus that test this scenario. Update sample only for JavaPlayFramework generator
This commit is contained in:
parent
64658f0bea
commit
79e10c427a
@ -161,7 +161,7 @@ public class InlineModelResolver {
|
|||||||
|
|
||||||
Map<String, Property> properties = m.getProperties();
|
Map<String, Property> properties = m.getProperties();
|
||||||
flattenProperties(properties, modelName);
|
flattenProperties(properties, modelName);
|
||||||
|
fixStringModel(m);
|
||||||
} else if (model instanceof ArrayModel) {
|
} else if (model instanceof ArrayModel) {
|
||||||
ArrayModel m = (ArrayModel) model;
|
ArrayModel m = (ArrayModel) model;
|
||||||
Property inner = m.getItems();
|
Property inner = m.getItems();
|
||||||
@ -191,6 +191,21 @@ public class InlineModelResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function fix models that are string (mostly enum). Before this fix, the example
|
||||||
|
* would look something like that in the doc: "\"example from def\""
|
||||||
|
* @param m Model implementation
|
||||||
|
*/
|
||||||
|
private void fixStringModel(ModelImpl m) {
|
||||||
|
if (m.getType() != null && m.getType().equals("string") && m.getExample() != null) {
|
||||||
|
String example = m.getExample().toString();
|
||||||
|
if (example.substring(0, 1).equals("\"") &&
|
||||||
|
example.substring(example.length() - 1).equals("\"")) {
|
||||||
|
m.setExample(example.substring(1, example.length() - 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private String resolveModelName(String title, String key) {
|
private String resolveModelName(String title, String key) {
|
||||||
if (title == null) {
|
if (title == null) {
|
||||||
return uniqueName(key);
|
return uniqueName(key);
|
||||||
|
@ -701,6 +701,15 @@ definitions:
|
|||||||
type: string
|
type: string
|
||||||
message:
|
message:
|
||||||
type: string
|
type: string
|
||||||
|
PetStatus:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- Healthy
|
||||||
|
- Sick
|
||||||
|
- Quarantined
|
||||||
|
- InPetsHeaven
|
||||||
|
description: "Pet's status"
|
||||||
|
example: Healthy
|
||||||
externalDocs:
|
externalDocs:
|
||||||
description: Find out more about Swagger
|
description: Find out more about Swagger
|
||||||
url: 'http://swagger.io'
|
url: 'http://swagger.io'
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
package apimodels;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import com.fasterxml.jackson.annotation.*;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pet's status
|
||||||
|
*/
|
||||||
|
public enum PetStatus {
|
||||||
|
|
||||||
|
HEALTHY("Healthy"),
|
||||||
|
|
||||||
|
SICK("Sick"),
|
||||||
|
|
||||||
|
QUARANTINED("Quarantined"),
|
||||||
|
|
||||||
|
INPETSHEAVEN("InPetsHeaven");
|
||||||
|
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
PetStatus(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@JsonValue
|
||||||
|
public String toString() {
|
||||||
|
return String.valueOf(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonCreator
|
||||||
|
public static PetStatus fromValue(String text) {
|
||||||
|
for (PetStatus b : PetStatus.values()) {
|
||||||
|
if (String.valueOf(b.value).equals(text)) {
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -900,12 +900,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"title" : "An uploaded response",
|
"title" : "An uploaded response",
|
||||||
"description" : "Describes the result of uploading an image resource",
|
"description" : "Describes the result of uploading an image resource"
|
||||||
"example" : {
|
},
|
||||||
"code" : 0,
|
"PetStatus" : {
|
||||||
"type" : "aeiou",
|
"type" : "string",
|
||||||
"message" : "aeiou"
|
"description" : "Pet's status",
|
||||||
}
|
"example" : "Healthy",
|
||||||
|
"enum" : [ "Healthy", "Sick", "Quarantined", "InPetsHeaven" ]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"externalDocs" : {
|
"externalDocs" : {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user