Hallo,
Hier ist meine Prahlerbeschreibung:
inline_response_200:
properties:
surname:
type: "integer"
default: 1
format: "int32"
name:
type: "string"
default: "lazy"
enum:
- clueless
- lazy
- adventurous
- aggressive
Und das erhalten wir in der generierten NodeJS-App:
exports.newCustomer = function(request) {
var examples = {};
examples['application/json'] = {
"name" : "aeiou",
"surname" : 123
};
Ist das in Ordnung, dass Standardwerte nicht berücksichtigt werden? Zeichenfolge ist jedes Mal gleich, die Zahl auch gleich. Ist das möglich, damit es funktioniert?
Da wir keine fest codierten examples
möchten.
Grüße,
Wir können das {{{defaultValue}}} Schnurrbart-Tag verwenden, um das Problem zu beheben. Hier ein Beispiel: https://github.com/swagger-api/swagger-codegen/blob/3a2ad9e2e446f43a6cd71a0e03e3a88828311480/modules/swagger-codegen/src/main/resources/python/model.mustache#L2
Haben Sie einen Zyklus, zu dem Sie beitragen können?
Hier sind die Richtlinien, die dazu beitragen: https://github.com/swagger-api/swagger-codegen/blob/master/CONTRIBUTING.md
Es sieht so aus, als ob dies auch ein Problem bei der Generierung von Java / Android-Code ist. Ich generiere basierend auf dieser yml-Datei für meine class_properties
-Datei.
class_properties:
type: object
properties:
class_id:
type: object
properties:
name:
type: string
default: "Class ID"
value:
type: string
class_title:
type: object
properties:
name:
type: string
default: "Class Title"
value:
type: string
class_instructor_name:
type: object
properties:
name:
type: string
default: "Class Instructor Name"
value:
type: string
class_air_date:
type: object
properties:
name:
type: string
default: "Class Air Date"
value:
type: string
format: datestring
Wenn ich das Modell generiere, wird keines der Standardfelder ausgefüllt
@ApiModel(description = "")
public class ClassProperties {
@SerializedName("class_id")
private ClassPropertiesClassId classId = null;
@SerializedName("class_title")
private ClassPropertiesClassTitle classTitle = null;
@SerializedName("class_instructor_name")
private ClassPropertiesClassInstructorName classInstructorName = null;
@SerializedName("class_air_date")
private ClassPropertiesClassAirDate classAirDate = null;
/**
**/
@ApiModelProperty(value = "")
public ClassPropertiesClassId getClassId() {
return classId;
}
public void setClassId(ClassPropertiesClassId classId) {
this.classId = classId;
}
/**
**/
@ApiModelProperty(value = "")
public ClassPropertiesClassTitle getClassTitle() {
return classTitle;
}
public void setClassTitle(ClassPropertiesClassTitle classTitle) {
this.classTitle = classTitle;
}
/**
**/
@ApiModelProperty(value = "")
public ClassPropertiesClassInstructorName getClassInstructorName() {
return classInstructorName;
}
public void setClassInstructorName(ClassPropertiesClassInstructorName classInstructorName) {
this.classInstructorName = classInstructorName;
}
/**
**/
@ApiModelProperty(value = "")
public ClassPropertiesClassAirDate getClassAirDate() {
return classAirDate;
}
public void setClassAirDate(ClassPropertiesClassAirDate classAirDate) {
this.classAirDate = classAirDate;
}
<strong i="10">@Override</strong>
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ClassProperties classProperties = (ClassProperties) o;
return (this.classId == null ? classProperties.classId == null : this.classId.equals(classProperties.classId)) &&
(this.classTitle == null ? classProperties.classTitle == null : this.classTitle.equals(classProperties.classTitle)) &&
(this.classInstructorName == null ? classProperties.classInstructorName == null : this.classInstructorName.equals(classProperties.classInstructorName)) &&
(this.classAirDate == null ? classProperties.classAirDate == null : this.classAirDate.equals(classProperties.classAirDate));
}
<strong i="11">@Override</strong>
public int hashCode() {
int result = 17;
result = 31 * result + (this.classId == null ? 0: this.classId.hashCode());
result = 31 * result + (this.classTitle == null ? 0: this.classTitle.hashCode());
result = 31 * result + (this.classInstructorName == null ? 0: this.classInstructorName.hashCode());
result = 31 * result + (this.classAirDate == null ? 0: this.classAirDate.hashCode());
return result;
}
<strong i="12">@Override</strong>
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ClassProperties {\n");
sb.append(" classId: ").append(classId).append("\n");
sb.append(" classTitle: ").append(classTitle).append("\n");
sb.append(" classInstructorName: ").append(classInstructorName).append("\n");
sb.append(" classAirDate: ").append(classAirDate).append("\n");
sb.append("}\n");
return sb.toString();
}
}
Ist das auch ein bekanntes Problem?
Dies ist über 2 Jahre alt - hat jemand einen Weg gefunden, um die Standardwerte richtig bereitzustellen? Wir versuchen, unsere POJOs mit Anmerkungen zu versehen, um dies zu berücksichtigen.
Hilfreichster Kommentar
Dies ist über 2 Jahre alt - hat jemand einen Weg gefunden, um die Standardwerte richtig bereitzustellen? Wir versuchen, unsere POJOs mit Anmerkungen zu versehen, um dies zu berücksichtigen.