Spring Boot를 사용한 CRUD 작업을 위한 REST API
8760 단어 javacrudapispringboot
필수 전제 조건 🗣:
코드에 뛰어들 시간입니다 🚀
1단계: https://start.spring.io/에서 기본 프로젝트를 만듭니다. 프로젝트 이름과 설명을 제공합니다. Spring Web, Spring Data JPA 및 MySQL 드라이버의 3가지 필수 종속성을 추가합니다.! 마지막으로 생성을 클릭하면 zip 파일이 다운로드됩니다. IntelliJ, eclipse 또는 NetBeans와 같은 선호하는 IDE에서 압축을 풀고 엽니다.
제 경우에는 애플리케이션 이름이 crud입니다.
2단계:
crud/src/main/java/com/example/crud/CrudApplication.java
에 1. 컨트롤러 2. 모델 3. 리포지토리 4. 서비스인 세 개의 폴더를 생성하여 상용구를 생성해 보겠습니다. 일반적으로 폴더 구조는 아래와 같아야 합니다.3단계: mysql에
users
가 있는 데이터베이스 및 user_id ( primary Key ), first_name and email
테이블 생성mysql 터미널에서 작업을 수행하는 다음 코드를 실행합니다.
CREATE TABLE `user_schema`.`users` (
`user_id` INT NOT NULL AUTO_INCREMENT,
`first_name` VARCHAR(45) NULL,
`email` VARCHAR(45) NULL,
UNIQUE INDEX `user_id_UNIQUE` (`user_id` ASC),
PRIMARY KEY (`user_id`));
crud/src/main/resources/application.properties
에 다음 코드를 추가합니다.spring.datasource.url = jdbc:mysql://127.0.0.1:3306/user_schema
#username and password of mysql
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
4단계: 이 폴더에 몇 가지 코드를 작성하여 마법을 부려봅시다.
User.java
폴더에 model
라는 파일을 만들고 다음 코드를 추가합니다.package com.example.crud.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="user_id")
private Long id;
@Column(name="first_name")
private String firstName;
@Column(name="email")
private String email;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
5단계: 이제
repository
패키지에 UserRepository.java
라는 또 다른 파일을 생성합니다. 여기서 클래스는 JPARepository
에서 확장되어 create()
, update()
, get()
및 delete()
메서드와 같은 쿼리 실행 기능을 사용할 수 있습니다. 마지막으로 다음 코드를 추가package com.example.crud.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.example.crud.model.User;
// @Repository tells the spring boot that it wrapped with User Table with sql execution queries.
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
6단계: 이제
service
폴더 안에 UserService.java
라는 파일을 만듭니다. 이 서비스 계층에서는 일반적으로 비즈니스 로직 🤖을 처리합니다.package com.example.crud.service;
import com.example.crud.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.crud.repository.UserRepository;
import java.util.List;
@Service
public class UserService {
@Autowired
UserRepository userRepository;
public User createUser(User user){
return userRepository.save(user);
}
public List<User> getUsers(){
return userRepository.findAll();
}
public void deleteUser(Long userId){
userRepository.deleteById(userId);
}
public User updateUser(Long userId, User userDetails){
User user = userRepository.findById(userId).get();
user.setFirstName(userDetails.getFirstName());
user.setEmail(userDetails.getEmail());
return userRepository.save(user);
}
}
7단계: 이제
controller
폴더 안에 UserController.java
라는 파일을 만듭니다. 이것은 요청이 서버에 도달할 때 가장 먼저 발생하는 레이어입니다. 이것은 매개변수의 유효성을 검사하거나 API를 인증하거나 일부 미들웨어 유효성 검사를 추가하기에 적합한 위치입니다. 하지만 지금은 컨트롤러의 기본 구조 작성에만 집중합니다.마지막으로 다음 코드를 추가합니다.
package com.example.crud.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.example.crud.model.User;
import com.example.crud.service.UserService;
// spring will understand that the methods in this class will follow rest convention
@RestController
@RequestMapping("/api")
public class UserController {
// spring will create a bean when we do a autowiring
@Autowired
UserService userService;
// invoking the spring-boot that this is end point /users
// to create USER
@RequestMapping(value="/users", method=RequestMethod.POST)
public User createUser(@RequestBody User usr) {
return userService.createUser(usr);
}
// to get all the list of Users
@RequestMapping(value="/users", method=RequestMethod.GET)
public List<User> readUsers() {
return userService.getUsers();
}
// to update the values of USER
@RequestMapping(value="/users/{userId}", method=RequestMethod.PUT)
public User readUsers(@PathVariable(value = "userId") Long id, @RequestBody User empDetails) {
return userService.updateUser(id, empDetails);
}
// to delete the record from the DB
@RequestMapping(value="/users/{userId}", method=RequestMethod.DELETE)
public void deleteUsers(@PathVariable(value = "userId") Long id) {
userService.deleteUser(id);
}
}
마지막으로 저장소 디렉토리는 다음과 같아야 합니다.
만세!!!!! 그게 다야! 🤘🤘 이제 포트 번호 8080(물론 기본 포트)에서 애플리케이션을 🏎 시작할 수 있습니다.
8단계: Postman을 사용하여 API 테스트 👻
여기에서 우체부 수거 링크를 찾으십시오: https://www.getpostman.com/collections/763c722809426a268aac
추신: 여기에서 github 저장소를 찾을 수 있습니다https://github.com/SamalaSumanth0262/Spring-Boot-CRUD. https://github.com/SamalaSumanth0262 🙋♂️ 또는 🙋♂️에서 저를 팔로우하세요
Hey Peeps, This is my first blog 🎯 on JAVA with spring boot. Please do leave any kind of improvements or suggestions. More than happy to hear🙇♂️.. Cheers !!! 🍻🍻
Reference
이 문제에 관하여(Spring Boot를 사용한 CRUD 작업을 위한 REST API), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/samalasumanth0262/rest-apis-for-crud-operation-using-spring-boot-24in텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)