为什么Swagger在示例中创建了一个systemId字段?

15

我有一个REST POST函数,其头部如下:

@POST
@Consumes(value = { MediaType.APPLICATION_JSON + ";charset=utf-8" })
@Produces(value = { MediaType.APPLICATION_JSON + ";charset=utf-8" })
@ApiOperation(value = "Create a document type", notes = "creates a document type from Json and returns the created type", response = Response.class)
@Session(roles = { Role.ROLE_ADMINISTRATOR })
@PublicApi
public Response create(
        @ApiParam(value = "Created DocumentType", required = true)
        @SwaggerDataType(type = 
           com.infor.daf.icp.internal.rest.models.DocumentType.class) 
        com.infor.daf.icp.internal.rest.models.DocumentType documentType) {

当我在Swagger UI中查看时,Swagger会创建一个示例请求主体。该主体包含

systemId (string, optional),
在模型视图中。
systemId : "string"

在JSON视图中看到了一个名为systemId的字段,但整个项目中没有这样的字段。我已经逐一检查了请求类及其祖先类,以及整个Java搜索项目。即使作为其他名称的子字符串,那个符号序列systemId也没有出现。

Swagger从哪里获取该名称,我该如何停止它?因为我希望它创建一个有效的示例。

编辑:API函数本身可以正常接受JSON输入,并正确地组成了声明类的对象。

导入:

package com....documentarchive.rest.v1

import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

Swagger UI看起来像这样:

在此输入图片描述

编辑2。
我删除了@SwaggerDataType,或将其替换为@RequestBody,但奇怪的行为仍然存在。

我已将示例设置为显示具有实际数据的具体字符串:

@ApiParam(example = DOC_TYPE_EXAMPLE, value = "Created DocumentType", required = true) @RequestBody com.infor.daf.icp.internal.rest.models.DocumentType documentType) {
....
    static final private String DOC_TYPE_EXAMPLE = "{'entityModel':\n" +
        "    {'name':'Anatemplate',\n" +
        "     'desc':'Ana-template',\n" +

即使这样也没有帮助!Swagger仍然从互联网上某个遥远的文件(感谢@xpa1492提供参考)中生成一些无意义的字符串,而不是直接显示准备好的字符串。

更多编辑:

pom文件:https://drive.google.com/file/d/16fOCq5EFZYVBJRPg0HeiP102eRzEaH6W/view?usp=sharing


3
这些给予踩票的人能否说明一下他们不喜欢什么? - Gangnus
我建议你尝试升级或降低Swagger UI版本,看看是否是版本特定的错误,并且还要在另一台机器上构建以确保不是系统配置问题。 - Tarun Lalwani
3
它可疑地具有相同的属性 - 它可能是从原先的类继承而来吗? - xpa1492
@Gangnus,请问能否快速提供一个包含确切pom版本的最小git仓库?这似乎是插件错误,需要进行调试。 - Tarun Lalwani
@TarunLalwani 我已经在pom文件中添加了引用。非常抱歉,我不知道在最小化的repo中应该放什么,因为我不知道问题的原因。如果我知道,就不会问了。很抱歉没有及时完成 - 我们在5月1日有假期。 - Gangnus
显示剩余20条评论
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接