diff --git a/demo.iml b/demo.iml
index 0ccb0e6f2..b9fc3d6b5 100644
--- a/demo.iml
+++ b/demo.iml
@@ -95,7 +95,7 @@
-
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 9957c3f28..21554b321 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,7 +41,12 @@
spring-data-commons
2.5.4
-
+
+ org.springframework
+ spring-beans
+ 5.3.9
+
+
diff --git a/src/main/java/com/example/demo/RecipeRepository.java b/src/main/java/com/example/demo/RecipeRepository.java
index e2b614b94..0410b18c0 100644
--- a/src/main/java/com/example/demo/RecipeRepository.java
+++ b/src/main/java/com/example/demo/RecipeRepository.java
@@ -1,6 +1,9 @@
package com.example.demo;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Service;
public interface RecipeRepository extends CrudRepository {
+
}
diff --git a/src/main/java/com/example/demo/User.java b/src/main/java/com/example/demo/User.java
new file mode 100644
index 000000000..ab979c798
--- /dev/null
+++ b/src/main/java/com/example/demo/User.java
@@ -0,0 +1,57 @@
+package com.example.demo;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+@Entity
+public class User {
+ @Id
+ @GeneratedValue
+ Long id;
+ String name;
+ String password;
+ Integer postCount;
+
+ public User() {
+ }
+
+ public User(Long id, String name, String password, Integer postCount) {
+ this.id = id;
+ this.name = name;
+ this.password = password;
+ this.postCount = postCount;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public Integer getPostCount() {
+ return postCount;
+ }
+
+ public void setPostCount(Integer postCount) {
+ this.postCount = postCount;
+ }
+}
diff --git a/src/main/java/com/example/demo/UserController.java b/src/main/java/com/example/demo/UserController.java
new file mode 100644
index 000000000..0494339c7
--- /dev/null
+++ b/src/main/java/com/example/demo/UserController.java
@@ -0,0 +1,41 @@
+package com.example.demo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/userController")
+public class UserController {
+
+ @Autowired
+ private UserService service;
+
+ @GetMapping(value = "/read/{id}")
+ public ResponseEntity read(@PathVariable Long id){
+ return new ResponseEntity<>(service.read(id), HttpStatus.OK);
+ }
+
+ @GetMapping(value = "/read")
+ public ResponseEntity> readAll(){
+ return new ResponseEntity<>(service.readAll(), HttpStatus.OK);
+ }
+
+ @PostMapping(value = "/create")
+ public ResponseEntity create(@RequestBody User user){
+ return new ResponseEntity<>(service.create(user), HttpStatus.CREATED);
+ }
+
+ @PutMapping(value = "/update/{id}")
+ public ResponseEntity update(@PathVariable Long id, @RequestBody User user){
+ return new ResponseEntity<>(service.update(id, user), HttpStatus.OK);
+ }
+
+ @DeleteMapping(value = "/delete/{id}")
+ public ResponseEntity delete(@PathVariable Long id){
+ return new ResponseEntity<>(service.delete(id), HttpStatus.OK);
+ }
+}
diff --git a/src/main/java/com/example/demo/UserRepository.java b/src/main/java/com/example/demo/UserRepository.java
new file mode 100644
index 000000000..2d5a36aac
--- /dev/null
+++ b/src/main/java/com/example/demo/UserRepository.java
@@ -0,0 +1,7 @@
+package com.example.demo;
+
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+public interface UserRepository extends CrudRepository {
+}
diff --git a/src/main/java/com/example/demo/UserService.java b/src/main/java/com/example/demo/UserService.java
new file mode 100644
index 000000000..1b4b5395a
--- /dev/null
+++ b/src/main/java/com/example/demo/UserService.java
@@ -0,0 +1,41 @@
+package com.example.demo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class UserService {
+ @Autowired
+ private UserRepository repository;
+
+ public User create(User user){ return repository.save(user); }
+
+ public User read(Long id){ return repository.findById(id).get(); }
+
+ public List readAll(){
+ Iterable userIterable = repository.findAll();
+ List result = new ArrayList<>();
+ userIterable.forEach(result::add);
+ return result;
+ }
+
+ public User update(Long id, User newUser){
+ User userInDatabase = read(id);
+ userInDatabase.setName(newUser.getName());
+ userInDatabase.setPassword(newUser.getPassword());
+ userInDatabase.setPostCount(newUser.getPostCount());
+ return repository.save(userInDatabase);
+ }
+
+ public User delete(User user){
+ repository.delete(user);
+ return user;
+ }
+
+ public User delete(Long id){
+ return delete(read(id));
+ }
+}
diff --git a/target/classes/com/example/demo/User.class b/target/classes/com/example/demo/User.class
new file mode 100644
index 000000000..83d6bc9e6
Binary files /dev/null and b/target/classes/com/example/demo/User.class differ
diff --git a/target/classes/com/example/demo/UserController.class b/target/classes/com/example/demo/UserController.class
new file mode 100644
index 000000000..c14b8d6d5
Binary files /dev/null and b/target/classes/com/example/demo/UserController.class differ
diff --git a/target/classes/com/example/demo/UserRepository.class b/target/classes/com/example/demo/UserRepository.class
new file mode 100644
index 000000000..3963a0df5
Binary files /dev/null and b/target/classes/com/example/demo/UserRepository.class differ
diff --git a/target/classes/com/example/demo/UserService.class b/target/classes/com/example/demo/UserService.class
new file mode 100644
index 000000000..fa43c0227
Binary files /dev/null and b/target/classes/com/example/demo/UserService.class differ