Java 为什么Swagger在示例中创建systemId字段?

Java 为什么Swagger在示例中创建systemId字段?,java,json,rest,swagger,javax,Java,Json,Rest,Swagger,Javax,我有一个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 fr

我有一个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
的字段。我已经一个接一个地检查了请求类及其祖先,并通过SearchJava检查了整个项目。该符号序列
systemId
即使作为另一名称的子字符串也不会出现

斯威格是从哪里得名的?我怎么才能阻止它?当然,我希望它能创造一个有效的例子

编辑: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;
大摇大摆的用户界面看起来是这样的:

编辑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文件:

似乎已在此处得到回答:


Swagger配置未加载Jackson批注模块,忽略使用的所有批注。因此,Apireder读错了类()。

这些投反对票的人能说出他们不喜欢的内容吗?这是哪个框架-SpringFox?@Helen否。我在编辑的问题中添加了导入的完整列表。您的DocumentType类看起来像什么?可疑地具有相同的属性-是否可能从扩展而来?