반응형

 

 

STEP 1. 새 Controller 코드를 생성한다.

먼저, DemoProjectApplication 과의 같은 경로에 controller 폴더를 추가한다. (폴더명은 크게 중요하지는 않다.)

 

이후, 그 폴더 안에 UserController.java 를 만든다.

 

그리고 그 안에 아래 소스코드를 입력한다.

 

- Path: controller/UserController.java

package com.example.demoProject.controller;

import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

@RestController // REST 컨트롤러 선언
@RequestMapping("/api/users") // API 경로 설정
public class UserController {

    private List<String> users = new ArrayList<>();

    // GET 요청: 모든 사용자 조회
    @GetMapping
    public List<String> getAllUsers() {
        return users;
    }

    // POST 요청: 새로운 사용자 추가
    @PostMapping
    public String addUser(@RequestBody String user) {
        users.add(user);
        return "User added: " + user;
    }

    // DELETE 요청: 사용자 삭제
    @DeleteMapping("/{index}")
    public String deleteUser(@PathVariable int index) {
        if (index < 0 || index >= users.size()) {
            return "Invalid index";
        }
        String removedUser = users.remove(index);
        return "User removed: " + removedUser;
    }
}

 

 

STEP 2. 서버 Application을 실행한다.

 

STEP 3. 명령프롬프트창(cmd)를 켜서 API를 전송 테스트를 해본다.

아래의 cmd 순서대로 입력해보자.

curl -X GET http://localhost:8080/api/users
curl -X POST http://localhost:8080/api/users -H "Content-Type: application/json" -d "\"John\""
curl -X GET http://localhost:8080/api/users

 

그러면 아래와 같이 결과물을 얻을 수 있다.

 

결과화면

 

 

 

※ 테스트 요청 예제

  • GET 요청: 모든 사용자 조회
curl -X GET http://localhost:8080/api/users
  • POST 요청: 사용자 추가
curl -X POST http://localhost:8080/api/users -H "Content-Type: application/json" -d "\"John\""

 

  • DELETE 요청: 사용자 삭제
curl -X DELETE http://localhost:8080/api/users/0

 

 

이로써 새로운 컨트롤러를 생성했고, 명령프롬프트 상으로 테스트를 했다.

반응형