Я работаю над весенним ботинком, и это приложение для отдыха. Всякий раз, когда я называю «localhost: 8080/projects», я получаю данные json в приведенной ниже форме.Как форматировать json-выход, созданный из остального api
{
uid: "166"
code: "99991"
name: "iPOC AG Mednet - BIOC"
protocol: "iPOC AG Mednet - BIOC"
client: "BioClinica"
description: "AG Mednet - BIOC PoC "
platform: "BioPACS"
subjectConfiguration: {
displayInitials: true
displayDOB: true
displayGender: true
}
uploadConfiguration: {
hasAttachments: true
hasNonDicom: false
autoInserted: true
}}
Но мне это нужно в ниже указанном формате:
{
"_embedded" : {
"projects" : [ {
"uid" : "1",
"code" : "123",
"name" : "Project 1",
"protocol" : "Protocol 1",
"client" : "Client",
"description" : "",
"platform": "BioPACS",
"subjectConfiguration" : {
"displayInitials" : true,
"displayDOB" : true,
"displayGender" : true
},
"uploadConfiguration" : {
hasAttachments: true,
hasNonDicom: true,
isAutoInserted: false,
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/projects/123"
}
}
}]}}
И мой «проект» Класс, как указано ниже.
public class Project {
private String uid;
private String code;
private String name;
private String protocol;
private String client;
private String description;
private String platform;
private SubjectConfiguration subjectConfiguration;
private UploadConfiguration uploadConfiguration;
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getProtocol() {
return protocol;
}
public void setProtocol(String protocol) {
this.protocol = protocol;
}
public String getClient() {
return client;
}
public void setClient(String client) {
this.client = client;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getPlatform() {
return platform;
}
public void setPlatform(String platform) {
this.platform = platform;
}
public SubjectConfiguration getSubjectConfiguration() {
return subjectConfiguration;
}
public void setSubjectConfiguration(
SubjectConfiguration subjectConfiguration) {
this.subjectConfiguration = subjectConfiguration;
}
public UploadConfiguration getUploadConfiguration() {
return uploadConfiguration;
}
public void setUploadConfiguration(UploadConfiguration uploadConfiguration) {
this.uploadConfiguration = uploadConfiguration;
}
@Override
public String toString() {
return "'uid':'" + uid + "', " + "'code':'" + code + "', "
+ "'name':'" + name + "', " + "'protocol':'" + protocol + "', "
+ "'client':'" + "', " + "'description':'" + description + "', "
+ "'platform':'" + platform + "', " + "'subjectConfiguration':'"
+ subjectConfiguration + "', " + "'uploadConfiguration':'"
+ uploadConfiguration + "'" ;
}}
И метод, который возвращает список приведен ниже:
@RequestMapping(value = "/projects", method = RequestMethod.GET, produces = "application/json")
public @ResponseBody List<Project> getProject() {
GetAuthorizedWebSendTransferProjects request = new GetAuthorizedWebSendTransferProjects();
GetAuthorizedWebSendTransferProjectsResponse response = gw.getResponse(request);
JAXBElement<ArrayOfProjectContainer> arr = response.getGetAuthorizedWebSendTransferProjectsResult();
ArrayOfProjectContainer arr1 = arr.getValue();
List<ProjectContainer> arr2 = arr1.getProjectContainer();
List<Project> projects = getPopulatedProjectList(arr2);
return projects;
}
Мне нужно добавить любую библиотеку для достижения этой цели, или я должен изменить свой метод ToString() класса проекта Do. Теперь заголовок ответа имеет «Content-Type: application/json», но заголовки, которые мне нужны, это «Content-Type: application/hal + json». Любой может помочь мне решить эту проблему. Заранее спасибо.