【问题标题】:Grails JSON field missing缺少 Grails JSON 字段
【发布时间】:2018-04-11 18:01:02
【问题描述】:

我需要在我的应用程序中创建一个 JSON 响应,其中将包含对象的等效 + 附加字段。 show() 方法如下所示:

def show(Long id) {
        verifyUserLoggedIn()

        ScBusinessProcess scBusinessProcess = ScBusinessProcess.get(id)
        BusinessProcess businessProcess =  BusinessProcessTranslator.toREST(scBusinessProcess)
        businessProcess.questions = getQuestions(scBusinessProcess)
        businessProcess.rate = getUserRate();
        businessProcess.totalSteps = calculateTotalSteps(scBusinessProcess);
        businessProcess.usersCurrentStep = 1;
        respond businessProcess
    }

toREST() 方法将 ScBusinessProcess 域类对象复制到一个新的 BusinessProcess Java 对象中。接下来是我手动添加的字段。到目前为止,除了没有在响应中显示的最后一个字段(调试器声称新创建的对象包含该字段及其传递的值)之外,一切都在工作。这是我的 toREST 方法:

public static BusinessProcess toREST(ScBusinessProcess scBusinessProcess) {
        if (scBusinessProcess == null) return null;
        return new BusinessProcess(
                scBusinessProcess.id(),
                scBusinessProcess.getName(),
                null,
                scBusinessProcess.getDescription(),
                scBusinessProcess.getPromoted(),
                scBusinessProcess.getLikedCount(),
                scBusinessProcess.getDislikedCount(),
                0,
                0,
                0
        );
    }

下面是返回的 JSON:

class   "rest.BusinessProcess"
description "Business Process Description"
dislikes    0
id  1
likes   1
name    "BusinessProcessOne"
promoted    false
questions   []
rate    1
totalSteps  0

usersCurrentStep 丢失。可能是什么问题?如果我需要添加更多代码,请说。此外,构建应用程序的 Grails 版本是 3.1.9。

【问题讨论】:

    标签: json rest grails


    【解决方案1】:

    BusinessProcess 类的结构是什么?如果您有正确的编组器,您可以生成任何您喜欢的结构的 JSON - 请参阅此链接以了解有关对象编组器的更多信息 -

    http://docs.grails.org/3.0.17/guide/webServices.html#objectMarshallers

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      • 2017-05-19
      • 2021-01-07
      • 2020-01-18
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      相关资源
      最近更新 更多