스프링(Spring)/스프링부트(SpringBoot)
[스프링부트(SpringBoot)] 02. 컨트롤러 추가하기
2024. 11. 17. 19:14반응형
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
이로써 새로운 컨트롤러를 생성했고, 명령프롬프트 상으로 테스트를 했다.
반응형
'스프링(Spring) > 스프링부트(SpringBoot)' 카테고리의 다른 글
[스프링부트(SpringBoot)] 03. User 개체를 JPA 데이터베이스 연동하기 (0) | 2024.11.17 |
---|---|
[스프링부트(SpringBoot)] 00. Linux에서 스프링부트 띄우기 (0) | 2024.11.17 |
[스프링부트(SpringBoot)] API 문서 설계 예시 (0) | 2024.11.17 |
[스프링부트(SpringBoot)] 01. 기본 프로젝트로 Hello world 띄우기 (0) | 2024.11.17 |
[스프링부트(SpringBoot)] 리스트로 홈페이지에 넘겨주기 (0) | 2024.07.13 |