Groovy JsonOutput.to Json (Object) возвращает пустую строку - PullRequest
2 голосов
/ 05 мая 2020

Я использую groovy JsonOuput.to Json () для преобразования экземпляра класса groovy в json

Но он всегда возвращает пустую строку для этого спецификатора c class

Я пробовал использовать другие инструменты пользователя JsonBuilder (), но происходит то же самое

Устал также удалять аннотацию @NonCps, но результат пустой строки остался

ImportTestsRequest request //initialized
String json = JsonOutput.toJson(request)
import com.cloudbees.groovy.cps.NonCPS

class ImportTestsRequest implements Serializable {
    String stamp
    List<Test> tests = new ArrayList<>()

    void addTest(Test test) {
        tests.add(test)
    }

    String getStamp() {
        return stamp
    }

    List<Test> getTests() {
        return tests
    }

    public static ImportTestsRequestBuilder builder() {
        return new ImportTestsRequestBuilder()
    }

    boolean equals(o) {
        if (this.is(o)) return true
        if (!(o instanceof ImportTestsRequest)) return false

        ImportTestsRequest that = (ImportTestsRequest) o

        if (tests != that.tests) return false
        if (stamp != that.stamp) return false

        return true
    }

    int hashCode() {
        int result
        result = (stamp != null ? stamp.hashCode() : 0)
        result = 31 * result + (tests != null ? tests.hashCode() : 0)
        return result
    }

    @NonCPS
    @Override
    public String toString() {
        return "ImportTestsRequest{" +
                "stamp='" + stamp + '\'' +
                ", tests=" + tests +
                '}';
    }

    public static final class ImportTestsRequestBuilder {
        private String stamp = ""
        private List<Test> tests = new ArrayList<>()

        private ImportTestsRequestBuilder() {
        }

        public ImportTestsRequestBuilder stamp(String stamp) {
            this.stamp = stamp
            return this
        }

        public ImportTestsRequestBuilder requests(List<Test> tests) {
            this.tests = tests
            return this
        }

        public void addTests(Test test) {
            requests.add(test)
        }

        public ImportTestsRequest build() {
            ImportTestsRequest importTestsRequest = new ImportTestsRequest()
            importTestsRequest.tests = this.tests
            importTestsRequest.stamp = this.stamp
            return importTestsRequest
        }
    }
}

в чем может быть причина?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...