์๋ ํ์ธ์,
๋ด ํํ ์ค๋ช ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
inline_response_200:
properties:
surname:
type: "integer"
default: 1
format: "int32"
name:
type: "string"
default: "lazy"
enum:
- clueless
- lazy
- adventurous
- aggressive
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ์์ฑ ๋ nodejs ์ฑ์์๋ฐ๋ ๊ฒ์ ๋๋ค.
exports.newCustomer = function(request) {
var examples = {};
examples['application/json'] = {
"name" : "aeiou",
"surname" : 123
};
๊ด์ฐฎ์ต๋๊น? ๊ธฐ๋ณธ๊ฐ์ ๊ณ ๋ ค๋์ง ์์ต๋๊น? ๋ฌธ์์ด์ ๋งค๋ฒ ๋์ผํ๊ณ ์ซ์๋ ๋์ผํฉ๋๋ค. ๊ทธ๊ฒ์ด ์๋ํ๋๋ก ํ ์ ์์ต๋๊น?
ํ๋ ์ฝ๋ฉ ๋ examples
๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ฌธ์ ์ธ์ฌ,
{{{defaultValue}}} ์ฝง์์ผ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ์ ์์ต๋๋ค. ์ : https://github.com/swagger-api/swagger-codegen/blob/3a2ad9e2e446f43a6cd71a0e03e3a88828311480/modules/swagger-codegen/src/main/resources/python/model.mustache#L52
๊ธฐ์ฌํ ์ฃผ๊ธฐ๊ฐ์๋ ๊ฒ์ ๋๊น?
๊ธฐ์ฌ ๊ฐ์ด๋ ๋ผ์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค : https://github.com/swagger-api/swagger-codegen/blob/master/CONTRIBUTING.md
์ด๊ฒ์ Java / Android ์ฝ๋ ์์ฑ์์๋ ๋ฌธ์ ๊ฐ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.์ด yml ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก class_properties
ํ์ผ์ ์์ฑํ๊ณ ์์ต๋๋ค.
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
ํ์ง๋ง ๋ชจ๋ธ์ ์์ฑ ํ ๋ ๊ธฐ๋ณธ ํ๋๊ฐ ์ฑ์์ง์ง ์์ต๋๋ค.
@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();
}
}
์ด๊ฒ์ ๋ํ ์๋ ค์ง ๋ฌธ์ ์ ๋๊น?
์ด๊ฒ์ 2 ๋ ์ด ๋์์ต๋๋ค. ๋๊ตฌ๋ ์ง ๊ธฐ๋ณธ๊ฐ์ ์ ์ ํ๊ฒ ์ ๊ณต ํ ์์๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๊น? ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ณ ๋ คํ๊ธฐ ์ํด POJO์ ์ฃผ์์ ๋ฌ๊ณ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ 2 ๋ ์ด ๋์์ต๋๋ค. ๋๊ตฌ๋ ์ง ๊ธฐ๋ณธ๊ฐ์ ์ ์ ํ๊ฒ ์ ๊ณต ํ ์์๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๊น? ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ณ ๋ คํ๊ธฐ ์ํด POJO์ ์ฃผ์์ ๋ฌ๊ณ ์์ต๋๋ค.