Я создал контроллер Spring-Data-Rest (метод Post), который принимает пользовательский объект запроса с именем IssueRequiredDetails. Этот объект имеет другой объект с именем IssueDocument в качестве атрибута.
Дело в том, что этот объект IssueDocument является объектом базы данных, поэтому он содержит все аннотации БД в классе (@Entity, @Table, @Column и т. д.). Когда я вызываю эту конечную точку через почтальона, все остальные поля правильно получают назначенные значения, но IssueDocument имеет значение null. Странно то, что когда я удаляю все аннотации базы данных из класса IssueDocument и попадаю в ту же конечную точку, то IssueDocument поступает правильно как часть вызова почтальона. Не знаю, почему это происходит и что мне нужно, чтобы решить эту проблему. Ниже я предоставил запрос класса и почтальона.  Пожалуйста, проясните это.
Класс контроллера
@PostMapping(path="issue-doc-controller")
public ResponseEntity saveDoc(@RequestBody IssueRequiredDetails issueRequiredDetails){
return ResponseEntity.ok().build();
}
Класс IssueRequiredDetail
public class IssueRequiredDetails implements Serializable {
public IssueRequiredDetails(){
}
private String contentType;
private String filename;
private byte[] content;
private Long key;
private String reader;
private IssueDocument issueDocument;
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public byte[] getContent() {
return content;
}
public void setContent(byte[] content) {
this.content = content;
}
public Long getKey() {
return key;
}
public void setKey(Long key) {
this.key = key;
}
public String getReader() {
return reader;
}
public void setReader(String reader) {
this.reader = reader;
}
public IssueDocument getIssueDocument() {
return issueDocument;
}
public void setIssueDocument(IssueDocument issueDocument) {
this.issueDocument = issueDocument;
}
}
Класс IssueDocument
@Entity
@Component
@Table(name = "Document")
public class IssueDocument implements Serializable {
private static final long serialVersionUID = 1L;
public IssueDocument() {
}
@Id
@SequenceGenerator(name="SEQUENCE_FOR_ISSUE_DOCUMENT", sequenceName="SEQUENCE_FOR_ISSUE_DOCUMENT", allocationSize = 1)
@GeneratedValue(strategy=GenerationType.AUTO, generator="SEQUENCE_FOR_ISSUE_DOCUMENT" )
@Column(name="documentid")
private Integer documentId;
@OneToOne
@JoinColumn(name = "issueId")
private Issuev1 issue;
@OneToOne
@JoinColumn(name="username")
private UserBaseV1 user;
@Column(name = "documentname")
private String documentName;
@Column(name="updated_date")
private LocalDateTime updatedDate;
@Column(name="created_date")
private LocalDateTime createdDate;
private Boolean flagged;
public LocalDateTime getCreatedDate() {
return createdDate;
}
public void setCreatedDate(LocalDateTime createdDate) {
this.createdDate = createdDate;
}
public Boolean getFlagged() {
return flagged;
}
public void setFlagged(Boolean flagged) {
this.flagged = flagged;
}
public LocalDateTime getUpdatedDate() {
return updatedDate;
}
public void setUpdatedDate(LocalDateTime updatedDate) {
this.updatedDate = updatedDate;
}
public Integer getDocumentId() {
return documentId;
}
public void setDocumentId(Integer documentId) {
this.documentId = documentId;
}
public String getDocumentName() {
return documentName;
}
public void setDocumentName(String documentname) {
this.documentName = documentname;
}
public Issuev1 getIssue() {
return issue;
}
public void setIssue(Issuev1 issue) {
this.issue = issue;
}
public UserBaseV1 getUser() {
return user;
}
public void setUser(UserBaseV1 user) {
this.user = user;
}
}
Запрос почтальона
{
"filename":"testing",
"key":14,
"issueDocument":{
"documentName":"testing"
}
}
 
Подробнее здесь: https://stackoverflow.com/questions/785 ... st-request
			
			
			
			
						
										
						Spring Data Rest API — объект Entity в почтовом запросе имеет значение null ⇐ JAVA
Программисты JAVA общаются здесь
	1716791245
Anonymous
Я создал контроллер Spring-Data-Rest (метод Post), который принимает пользовательский объект запроса с именем IssueRequiredDetails. Этот объект имеет другой объект с именем IssueDocument в качестве атрибута.
Дело в том, что этот объект IssueDocument является объектом базы данных, поэтому он содержит все аннотации БД в классе (@Entity, @Table, @Column и т. д.). Когда я вызываю эту конечную точку через почтальона, все остальные поля правильно получают назначенные значения, но IssueDocument имеет значение null. Странно то, что когда я удаляю все аннотации базы данных из класса IssueDocument и попадаю в ту же конечную точку, то IssueDocument поступает правильно как часть вызова почтальона. Не знаю, почему это происходит и что мне нужно, чтобы решить эту проблему. Ниже я предоставил запрос класса и почтальона. Пожалуйста, проясните это.
[b]Класс контроллера[/b]
@PostMapping(path="issue-doc-controller")
public ResponseEntity saveDoc(@RequestBody IssueRequiredDetails issueRequiredDetails){
return ResponseEntity.ok().build();
}
[b]Класс IssueRequiredDetail[/b]
public class IssueRequiredDetails implements Serializable {
public IssueRequiredDetails(){
}
private String contentType;
private String filename;
private byte[] content;
private Long key;
private String reader;
private IssueDocument issueDocument;
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public byte[] getContent() {
return content;
}
public void setContent(byte[] content) {
this.content = content;
}
public Long getKey() {
return key;
}
public void setKey(Long key) {
this.key = key;
}
public String getReader() {
return reader;
}
public void setReader(String reader) {
this.reader = reader;
}
public IssueDocument getIssueDocument() {
return issueDocument;
}
public void setIssueDocument(IssueDocument issueDocument) {
this.issueDocument = issueDocument;
}
}
[b]Класс IssueDocument[/b]
@Entity
@Component
@Table(name = "Document")
public class IssueDocument implements Serializable {
private static final long serialVersionUID = 1L;
public IssueDocument() {
}
@Id
@SequenceGenerator(name="SEQUENCE_FOR_ISSUE_DOCUMENT", sequenceName="SEQUENCE_FOR_ISSUE_DOCUMENT", allocationSize = 1)
@GeneratedValue(strategy=GenerationType.AUTO, generator="SEQUENCE_FOR_ISSUE_DOCUMENT" )
@Column(name="documentid")
private Integer documentId;
@OneToOne
@JoinColumn(name = "issueId")
private Issuev1 issue;
@OneToOne
@JoinColumn(name="username")
private UserBaseV1 user;
@Column(name = "documentname")
private String documentName;
@Column(name="updated_date")
private LocalDateTime updatedDate;
@Column(name="created_date")
private LocalDateTime createdDate;
private Boolean flagged;
public LocalDateTime getCreatedDate() {
return createdDate;
}
public void setCreatedDate(LocalDateTime createdDate) {
this.createdDate = createdDate;
}
public Boolean getFlagged() {
return flagged;
}
public void setFlagged(Boolean flagged) {
this.flagged = flagged;
}
public LocalDateTime getUpdatedDate() {
return updatedDate;
}
public void setUpdatedDate(LocalDateTime updatedDate) {
this.updatedDate = updatedDate;
}
public Integer getDocumentId() {
return documentId;
}
public void setDocumentId(Integer documentId) {
this.documentId = documentId;
}
public String getDocumentName() {
return documentName;
}
public void setDocumentName(String documentname) {
this.documentName = documentname;
}
public Issuev1 getIssue() {
return issue;
}
public void setIssue(Issuev1 issue) {
this.issue = issue;
}
public UserBaseV1 getUser() {
return user;
}
public void setUser(UserBaseV1 user) {
this.user = user;
}
}
[b]Запрос почтальона[/b]
{
"filename":"testing",
"key":14,
"issueDocument":{
"documentName":"testing"
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78536887/spring-data-rest-api-entity-object-coming-as-null-in-post-request[/url]
	
			
							Ответить 
					
		
	
	
	
	
				
			
	
			1 сообщение
							• Страница 1 из 1
					
	
			
				Перейти
				
			
		
			
			
	
	- Кемерово-IT
 - ↳ Javascript
 - ↳ C#
 - ↳ JAVA
 - ↳ Elasticsearch aggregation
 - ↳ Python
 - ↳ Php
 - ↳ Android
 - ↳ Html
 - ↳ Jquery
 - ↳ C++
 - ↳ IOS
 - ↳ CSS
 - ↳ Excel
 - ↳ Linux
 - ↳ Apache
 - ↳ MySql
 - Детский мир
 - Для души
 - ↳ Музыкальные инструменты даром
 - ↳ Печатная продукция даром
 - Внешняя красота и здоровье
 - ↳ Одежда и обувь для взрослых даром
 - ↳ Товары для здоровья
 - ↳ Физкультура и спорт
 - Техника - даром!
 - ↳ Автомобилистам
 - ↳ Компьютерная техника
 - ↳ Плиты: газовые и электрические
 - ↳ Холодильники
 - ↳ Стиральные машины
 - ↳ Телевизоры
 - ↳ Телефоны, смартфоны, плашеты
 - ↳ Швейные машинки
 - ↳ Прочая электроника и техника
 - ↳ Фототехника
 - Ремонт и интерьер
 - ↳ Стройматериалы, инструмент
 - ↳ Мебель и предметы интерьера даром
 - ↳ Cантехника
 - Другие темы
 - ↳ Разное даром
 - ↳ Давай меняться!
 - ↳ Отдам\возьму за копеечку
 - ↳ Работа и подработка в Кемерове
 - ↳ Давай с тобой поговорим...
 
 Мобильная версия