ドキュメントに Swagger を使用する REST webapp があり、 body パラメーターを除いてうまく機能しています。本体のすべてのプロパティはオプションです
私の Project オブジェクトは XSD ファイルで生成され、minOccurs=1 maxOccurs=1 または unboundedのすべての要素と、すべての属性がuse=requiredに設定されていることを確認しました。これには何の影響もないようです。次に試したのは、追加することでした
@ApiParam(value = "プロジェクト本体", required = true) @RequestBody ProjectInfo プロジェクト
しかし、Project オブジェクト自体が既に必要であるため、これは効果がありませんでした。Project のプロパティも必要であることを Swagger に伝える方法はありますか? Swagger に SpringFox 依存関係を使用しています。
アップデート
生成されたモデルに@ApiModelと@ApiModelProperty(value = "プロジェクトの一意の名前", required = true)を追加することで、それを必要とすることができました。
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.02.12 at 09:33:59 AM CET
//
package be.smartask.api.model.post;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.xml.bind.annotation.*;
/**
* <p>Java class for anonymous complex type.
* <p>
* <p>The following schema fragment specifies the expected content contained within this class.
* <p>
* <pre>
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
@XmlRootElement(name = "projectInfo")
@ApiModel
public class ProjectInfo {
@XmlAttribute(name = "name", required = true)
protected String name;
/**
* Gets the value of the name property.
*
* @return possible object is
* {@link String }
*/
@ApiModelProperty(value = "The unique name of the project", required = true)
public String getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value allowed object is
* {@link String }
*/
public void setName(String value) {
this.name = value;
}
}
しかし、私の質問は、XSD ファイルに Swagger 注釈を追加して、それ自体が生成されるようにすることはできますか? に変更されました。