生成 JAXB 的 swagger 2 类
swagger 2 with JAXB generated classes
我生成了 JAXB classes
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MyResponse", propOrder = {
"member1",
"member2",
"member3"
})
public class MyResponse implements Serializable {
<... other class members; setters/ getters ...>
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "myRequest", propOrder = {
"test1",
"test2",
"test3"
})
public class MyRequest implements Serializable {
<... other class members; setters/ getters ...>
}
但是,swagger 2(版本 3.0.0)生成的示例值如
<?xml version="1.0" encoding="UTF-8"?>
<JAXBElement«MyRequest»>
<name>
<localPart>jhgkhgk</localPart>
<namespaceURI>gfjgfj</namespaceURI>
<prefix>gfjhgfj</prefix>
</name>
<nil>true</nil>
<MyRequest>
<test1>string</test1>
<test2>string</test2>
<test3>string</test3>
</MyRequest>
</JAXBElement«MyRequest»>
如何强制swagger生成
的示例值
<MyRequest>
<test1>string</test1>
<test2>string</test2>
<test3>string</test3>
</MyRequest>
我的控制器class
public @ResponseBody JAXBElement<MyRequest> test(
@RequestBody JAXBElement<MyResponse> message) {
}
第 1 次更新
刚发现把
@ApiImplicitParams({
@ApiImplicitParam(
name = "message",
dataTypeClass = MyResponse.class,
examples = @io.swagger.annotations.Example(
value = {
@ExampleProperty(value = "{'property': 'test'}", mediaType = "application/xml")
}))
})
在我的控制器之上给出了所需结果的 1/2,现在需要计算
如何添加命名空间
找到解决方案 - 放弃 SpringFox 并改用 springdoc-openapi-ui(如果你是
java 开发者)它很容易死掉,即
@io.swagger.v3.oas.annotations.parameters.RequestBody(content = @Content(examples = {
@ExampleObject(
name = "Person sample",
summary = "person example",
value ="my custom example to be executed")}))
我生成了 JAXB classes
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MyResponse", propOrder = {
"member1",
"member2",
"member3"
})
public class MyResponse implements Serializable {
<... other class members; setters/ getters ...>
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "myRequest", propOrder = {
"test1",
"test2",
"test3"
})
public class MyRequest implements Serializable {
<... other class members; setters/ getters ...>
}
但是,swagger 2(版本 3.0.0)生成的示例值如
<?xml version="1.0" encoding="UTF-8"?>
<JAXBElement«MyRequest»>
<name>
<localPart>jhgkhgk</localPart>
<namespaceURI>gfjgfj</namespaceURI>
<prefix>gfjhgfj</prefix>
</name>
<nil>true</nil>
<MyRequest>
<test1>string</test1>
<test2>string</test2>
<test3>string</test3>
</MyRequest>
</JAXBElement«MyRequest»>
如何强制swagger生成
的示例值<MyRequest>
<test1>string</test1>
<test2>string</test2>
<test3>string</test3>
</MyRequest>
我的控制器class
public @ResponseBody JAXBElement<MyRequest> test(
@RequestBody JAXBElement<MyResponse> message) {
}
第 1 次更新
刚发现把
@ApiImplicitParams({
@ApiImplicitParam(
name = "message",
dataTypeClass = MyResponse.class,
examples = @io.swagger.annotations.Example(
value = {
@ExampleProperty(value = "{'property': 'test'}", mediaType = "application/xml")
}))
})
在我的控制器之上给出了所需结果的 1/2,现在需要计算 如何添加命名空间
找到解决方案 - 放弃 SpringFox 并改用 springdoc-openapi-ui(如果你是 java 开发者)它很容易死掉,即
@io.swagger.v3.oas.annotations.parameters.RequestBody(content = @Content(examples = {
@ExampleObject(
name = "Person sample",
summary = "person example",
value ="my custom example to be executed")}))