मैं स्प्रिंग एमवीसी (स्प्रिंग बूट के माध्यम से) का उपयोग कर रहा हूं और swagger-spring-mvc लाइब्रेरी का उपयोग करके स्वैगर एपीआई दस्तावेज एकीकृत किया है।@ApiModelProperty डेटा को कैसे सेट करें Swagger प्रलेखन के लिए स्ट्रिंग पर टाइप करें
मैं एक वर्ग है कि कुछ इस तरह दिखता है:
@ApiModel
public class CartItem {
...
private Money listPrice; // joda money class
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(required = true, dataType = "java.lang.String")
public Money getListPrice() {
return listPrice;
}
...
}
जब से मैं इस क्षेत्र के लिए ToStringSerializer उपयोग कर रहा हूँ, यह JSON में listPrice.toString लौटा रहा है, दूसरे शब्दों में:
{
"listPrice": "USD 10.50"
}
हालांकि, swagger दस्तावेज डेटा टाइप = "java.lang.String" का सम्मान नहीं कर रहा है। यह प्रतिक्रिया मॉडल के रूप में दिखाता है:
"CartItem": {
"description": "",
"id": "CartItem",
"properties": {
"listPrice": {
"required": false,
"type": "Money"
}
}
}
मैं क्षेत्र के साथ-साथ विधि पर @ApiModelProperty एनोटेशन डालने की कोशिश की है, और दोनों ही मामलों में required
क्षेत्र सम्मान दिया जाता है, लेकिन dataType
क्षेत्र नजरअंदाज कर दिया है। मैंने डेटा टाइप के लिए "स्ट्रिंग", "स्ट्रिंग" और "java.lang.String" का उपयोग करने का भी प्रयास किया है, लेकिन उनमें से कोई भी काम नहीं कर पाया है।
क्या मुझे कुछ याद आ रही है, या क्या यह सिर्फ swagger-spring-mvc लाइब्रेरी में एक बग है?
आप सही है कि यह अब 2.0.x में समर्थित (2.0.0-स्नैपशॉट में उपलब्ध है) है, कुछ कैविएट्स के साथ । डेटा प्रकार को वैध पैकेज योग्य वर्ग होना चाहिए। –
धन्यवाद @ दिलीपकृष्णन। मैं देखता हूं कि परिवर्तन को प्रतिबिंबित करने के लिए गिथब पर प्रलेखन को अद्यतन किया गया है। – nerdherd