티스토리 뷰

Backend/Spring

#15 MySQL - UPDATE API, DELETE API

RadderNepa 2023. 8. 19. 20:30

 

USER TABLE / 현재 package 구조


● UPDATE API

[API Specification(API 명세)]
1. HTTP Method  →  PUT
2. HTTP Path  →  /user
3. HTTP Body(JSON)  →  { "id" : Long, "name" : String }  /  name = 변경할 이름
4. API 반환 결과(값)  →  없음, (HTTP code = 200)이면 정상 처리 판정
package com.group.libraryapp.controller.user;

import com.group.libraryapp.dto.user.request.UserCreateRequest;
import com.group.libraryapp.dto.user.request.UserUpdateRequest;
import com.group.libraryapp.dto.user.response.UserResponse;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class UserController {
    // JdbcTemplate를 이용해 DB에 접근한다.
    private final JdbcTemplate jdbcTemplate;

    // jdbcTemplate을 생성자에 직접 넣어주지 않아도 spring이 알아서 jdbcTemplate을 넣어준다.
    public UserController(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    @PutMapping("/user")
    public void updateUser(@RequestBody UserUpdateRequest request) {
        String sql = "UPDATE USER SET NAME = ? WHERE ID = ?";
        jdbcTemplate.update(sql, request.getName(), request.getId());
    }
}
package com.group.libraryapp.dto.user.request;

public class UserUpdateRequest {
    private long id;
    private String name;

    public long getId() {
        return id;
    }

    public String getName() {
        return name;
    }
}

DELETE API

[API Specification(API 명세)]
1. HTTP Method  →  DELETE
2. HTTP Path  →  /user
3. 쿼리  →  문자열 name(삭제할 사용자 이름)
4. API 반환 결과(값)  →  없음, (HTTP code = 200)이면 정상 처리 판정
package com.group.libraryapp.controller.user;

import com.group.libraryapp.dto.user.request.UserCreateRequest;
import com.group.libraryapp.dto.user.request.UserUpdateRequest;
import com.group.libraryapp.dto.user.response.UserResponse;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class UserController {
    // JdbcTemplate를 이용해 DB에 접근한다.
    private final JdbcTemplate jdbcTemplate;

    // jdbcTemplate을 생성자에 직접 넣어주지 않아도 spring이 알아서 jdbcTemplate을 넣어준다.
    public UserController(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    @DeleteMapping("/user")
    public void deleteUser(@RequestParam String name) {
        String sql = "DELETE FROM USER WHERE NAME = ?";
        jdbcTemplate.update(sql, name);
    }
}

 테스트

- UPDATE

 

- DELETE

'Backend > Spring' 카테고리의 다른 글

#17 Clean Code  (0) 2023.08.21
#16 MySQL - UPDATE, DELETE 예외 처리  (0) 2023.08.20
#14 application.yml 설정 시 주의사항  (0) 2023.08.17
#13 Spring - MySQL 연동  (0) 2023.08.16
#12 MySQL - CRUD with DML  (0) 2023.08.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함