Верните Джсона с помощью @GetMapping - PullRequest
0 голосов
/ 27 мая 2019

Я хочу вернуть json из вложенного класса Entity.

Умеет отправлять используя значения @PostMapping в базу данных mysql. У меня есть 3 объекта: Plate, Sample и Submission со связями @ManyToOne и @OneToMany. Как только я отправлю запрос, проблема с извлечением тех же данных из базы данных в виде json

Это моя сущность

public class Sample {
    @Id
    @GeneratedValue(strategy=GenerationType.TABLE, generator="tab")
    private Long id;
    private String row;
    private String clientSampleId;
    private String comments;
    private String organismName;
    private Long columnNumber;
    private String tissueType;

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="plate_id")
    private Plate plate;

}

public class Plate {
    @Id
    @GeneratedValue(strategy=GenerationType.TABLE, generator="tab")
    private Long id;
    private String clientPlateId;
    private String clientPlateBarcode;
    private String sampleSubmissionFormat;
    @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="plate")
    private List<Sample> samples;

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="submission_id")
    private Submission submission;
}

public class Submission {
    @Id
    @GeneratedValue(strategy=GenerationType.TABLE, generator="tab")
    private Long id;

    private Long numberOfSamples;
    private String sampleType;
    private String clientId;
    @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="submission")
    private List<Plate> plates;
}

Попытка получить подчиненное имя с помощью ключа submissionId возвращает исключение com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields.

@GetMapping(value = "/submission/{submissionId}", produces = { "application/json" })
    public Submission getSubmission(@PathVariable(value = "submissionId") Long submissionId) {

return submissionRepository.findById(submissionId);

}

Это мое json представление, и я должен получить его с помощью запроса @GetMapping

{
    "plates": [

        {
            "clientPlateId": "P_2519052917_1",
            "clientPlateBarcode": "P_2519052917_1",
            "samples": [
                {
                    "row": "A",
                    "clientSampleId": "1737",
                    "comments": "none",
                    "organismName": "Wheat",
                    "columnNumber": 1,
                    "tissueType": "leaf"
                }
            ],
            "sampleSubmissionFormat": "PLATE_96"
        }
    ],
    "numberOfSamples": 94,
    "sampleType": "DNA",
    "clientId": "cleintid"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...