招摇过市:如何处理包含java';对象';班

招摇过市:如何处理包含java';对象';班,java,swagger,Java,Swagger,我试图理解如何在“swagger”中指定响应实际上是类的对象“ViewObject.java”,其中包含类的对象“object”,在下面的示例中包含“App.java”。 在下面的代码中,当我将@ApiOperation指定为“response=ViewObject.class”时,无法确定ViewObject中的“result”字段包含“App”实例 查看对象中的所有字段都是私有的,感谢@Ron的评论。我尝试将字段更改为“public”。不走运。由于“result”的类型为“Object”

我试图理解如何在“swagger”中指定响应实际上是类的对象
“ViewObject.java”
,其中包含类的对象“object”,在下面的示例中包含
“App.java”
。 在下面的代码中,当我将
@ApiOperation
指定为
“response=ViewObject.class”
时,无法确定ViewObject中的“result”字段包含“App”实例





查看对象中的所有字段都是私有的,
感谢@Ron的评论。我尝试将字段更改为“public”。不走运。由于“result”的类型为“Object”,因此它无法检测其中的底层类。有没有办法使用Swagger API指定它将包含哪个类?这是我在swagger ui中看到的:-------------------------------------------------------------ViewObject{message(string,可选),status(FreemoStatus,可选)=['EXCEPTION'或'SUCCESS'或'VALIDATION\u ERROR'],result(Object,可选)}-------------------------------------------------------------------您可以使用
@ApiModelProperty#dataType()
重写字段的类型。@Ron:在这种情况下,我必须将其添加到ViewObject.java类中的“result”字段right。问题在于“ViewObject”被多个rest调用使用,并且对于每个调用,“result”将填充不同的类实例。与本例类似,“result”包含“App”类实例,但它也可以包含其他内容。在进行“getApp()”方法调用时,是否有一种方法可以指定它?也许使用一些注释?恐怕那听起来像是糟糕的编码。那你为什么不使用泛型呢
ViewObject
,然后
private T result
ViewObject
中的所有字段都是私有的……感谢@Ron的评论。我尝试将字段更改为“public”。不走运。由于“result”的类型为“Object”,因此它无法检测其中的底层类。有没有办法使用Swagger API指定它将包含哪个类?这是我在swagger ui中看到的:-------------------------------------------------------------ViewObject{message(string,可选),status(FreemoStatus,可选)=['EXCEPTION'或'SUCCESS'或'VALIDATION\u ERROR'],result(Object,可选)}-------------------------------------------------------------------您可以使用
@ApiModelProperty#dataType()
重写字段的类型。@Ron:在这种情况下,我必须将其添加到ViewObject.java类中的“result”字段right。问题在于“ViewObject”被多个rest调用使用,并且对于每个调用,“result”将填充不同的类实例。与本例类似,“result”包含“App”类实例,但它也可以包含其他内容。在进行“getApp()”方法调用时,是否有一种方法可以指定它?也许使用一些注释?恐怕那听起来像是糟糕的编码。那你为什么不使用泛型呢
ViewObject
,然后
private T result
@GET
@Path("/app/{appCode}")
@Produces("application/json")
@ApiOperation(value = "Get App Configuration", response = ViewObject.class)
public @ResponseBody  ViewObject getApp(@PathParam("appCode") String appCode) throws FreemoException,Exception {
    App app = new App();
    app.setAppCode(appCode);
    ViewObject viewObject = new ViewObject();
    App appLoadedFromDB  = appService.getApp(app.getAppCode()); //Load App from DB

    viewObject.setStatus(FreemoStatus.SUCCESS);
    viewObject.setResult(appLoadedFromDB);
    return viewObject;
}
ViewObject.java:
    public class ViewObject  extends FreemoModel{
        private FreemoStatus status;
        private String message;
        private Object result;
    }