স্প্রিং ডেটা রিস্ট ব্যবহার করে বর্তমানে আমার কাছে একটি স্প্রিং বুট অ্যাপ্লিকেশন রয়েছে। আমার একটি ডোমেন সত্তা রয়েছে Post
যার @OneToMany
অন্য ডোমেন সত্তার সাথে সম্পর্ক রয়েছে Comment
। এই শ্রেণিগুলি নিম্নরূপে কাঠামোযুক্ত:
Post.java:
@Entity
public class Post {
@Id
@GeneratedValue
private long id;
private String author;
private String content;
private String title;
@OneToMany
private List<Comment> comments;
// Standard getters and setters...
}
Comment.java:
@Entity
public class Comment {
@Id
@GeneratedValue
private long id;
private String author;
private String content;
@ManyToOne
private Post post;
// Standard getters and setters...
}
তাদের স্প্রিং ডেটা আরএসটি জেপিএ সংগ্রহস্থলগুলির বুনিয়াদি বাস্তবায়ন CrudRepository
:
PostRepository.java:
public interface PostRepository extends CrudRepository<Post, Long> { }
CommentRepository.java:
public interface CommentRepository extends CrudRepository<Comment, Long> { }
অ্যাপ্লিকেশন এন্ট্রি পয়েন্টটি একটি মানক, সহজ স্প্রিং বুট অ্যাপ্লিকেশন। সবকিছু স্টক কনফিগার করা আছে।
Application.java
@Configuration
@EnableJpaRepositories
@Import(RepositoryRestMvcConfiguration.class)
@EnableAutoConfiguration
public class Application {
public static void main(final String[] args) {
SpringApplication.run(Application.class, args);
}
}
সবকিছু সঠিকভাবে কাজ করে বলে মনে হচ্ছে। আমি যখন অ্যাপ্লিকেশনটি চালিত করি তখন সমস্ত কিছুই সঠিকভাবে কাজ করে বলে মনে হয়। আমি পছন্দ করতে একটি নতুন পোস্ট অবজেক্ট পোস্ট করতে http://localhost:8080/posts
পারি:
শারীরিক:
{"author":"testAuthor", "title":"test", "content":"hello world"}
ফলাফল এখানে http://localhost:8080/posts/1
:
{
"author": "testAuthor",
"content": "hello world",
"title": "test",
"_links": {
"self": {
"href": "http://localhost:8080/posts/1"
},
"comments": {
"href": "http://localhost:8080/posts/1/comments"
}
}
}
যাইহোক, আমি যখন কোনও জিইটি সঞ্চালন করি তখন আমি http://localhost:8080/posts/1/comments
একটি খালি বস্তু {}
ফিরে পাই এবং আমি যদি একই ইউআরআই-তে কোনও মন্তব্য পোস্ট করার চেষ্টা করি তবে আমি একটি HTTP 405 পদ্ধতি অনুমোদিত নয় get
একটি Comment
উত্স তৈরি এবং এটির সাথে যুক্ত করার সঠিক উপায় কী Post
? আমি http://localhost:8080/comments
সম্ভব হলে সরাসরি পোস্টিং এড়াতে চাই ।