Code: Select all
package com.project.BlogSpot.Entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name="articles")
public class Blog {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(insertable=false, updatable=false)
private int id;
@Column(name="title")
private String title;
@Column(name="content")
private String content;
@Column(name="comments")
private String comments;
@Column(name="likes")
private int likes;
@ManyToOne
@JoinColumn(name="user_id")
private Users user;
public Blog(int id, String title, String content, String comments, int likes, Users user_id) {
super();
this.id = id;
this.title = title;
this.content = content;
this.comments = comments;
this.likes = likes;
this.user = user_id;
}
public Blog() {}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getComments() {
return comments;
}
public void setComments(String comments) {
this.comments = comments;
}
public int getLikes() {
return likes;
}
public void setLikes(int likes) {
this.likes = likes;
}
public Users getUser_id() {
return user;
}
public void setUser_id(Users user_id) {
this.user = user_id;
}
}
Code: Select all
package com.project.BlogSpot.Entity;
import java.util.List;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name="bloggers")
public class Users {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "user_name", nullable = false, length = 20)
private String userName;
@Column(name = "user_pwd", nullable = false, length = 15)
private String userPwd;
@Column(name = "connected_users", columnDefinition = "JSON")
private String connectedUsers; // Stored as JSON in the database
// Helper method to convert connectedUsers JSON to List
public List getConnectedUsersList() {
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.readValue(this.connectedUsers, new TypeReference() {});
} catch (Exception e) {
throw new RuntimeException("Error parsing JSON", e);
}
}
public void setConnectedUsersList(List users) {
ObjectMapper mapper = new ObjectMapper();
try {
this.connectedUsers = mapper.writeValueAsString(users);
} catch (Exception e) {
throw new RuntimeException("Error converting List to JSON", e);
}
}
public Users(int id, String userName, String userPwd, String connectedUsers) {
super();
this.id = id;
this.userName = userName;
this.userPwd = userPwd;
this.connectedUsers = connectedUsers;
}
public Users() {}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public String getConnectedUsers() {
return connectedUsers;
}
public void setConnectedUsers(String connectedUsers) {
this.connectedUsers = connectedUsers;
}
}
Code: Select all
@Autowired
public BlogRepository blogRepository;
public void addBlog(Blog blog) {
if (blog.getUser_id() != null && blog.getUser_id().getId() != 0) {
// Fetch the User object from the database using the user ID
Users user = userRepository.findById(blog.getUser_id().getId())
.orElseThrow(() -> new RuntimeException("User not found"));
// Set the user in the blog object
blog.setUser_id(user);
} else {
throw new RuntimeException("User ID is missing or invalid");
}
blogRepository.save(blog);
}
Code: Select all
@Autowired
public BlogService service;
@PostMapping("/add")
public void addBlog(Blog blog) {
service.addBlog(blog);
}
„message“: „Benutzer-ID fehlt oder ist ungültig“,
„Pfad“: „/blogs/add“
wird abgerufen ausgelöst.
Während des Debuggens gibt der Benutzer null zurück.
Bitte helfen Sie!