Spring

ARC(Advanced REST Client)

print("스테코더") 2022. 11. 11. 15:51

ARC란? API를 만들고 테스트 및 기능 확인을 해볼 수 있는 툴

 

작동 확인 예시 > Course 테이블 / title, tutor 컬럼

 

1. API - GET(조회) 작동 확인

// Controller

@RequiredArgsConstructor
@RestController
public class CourseController {

    private final CourseRepository courseRepository;

    @GetMapping("/api/courses")
    public List<Course> getCourses() {
        return courseRepository.findAll();
    }
}
  • Method : GET
  • Request URL : http://localhost:8080/api/courses

 


2. API - POST(생성) 작동 확인

// Controller

private final CourseService courseService;

// PostMapping을 통해서, 같은 주소라도 방식이 다름을 구분합니다.
@PostMapping("/api/courses") 
public Course createCourse(@RequestBody CourseRequestDto requestDto) {
		// requestDto 는, 생성 요청을 의미합니다.
		// 강의 정보를 만들기 위해서는 강의 제목과 튜터 이름을 가져옵니다.
    
		// 저장하는 것은 Dto가 아니라 Course이니, Dto의 정보를 course에 담아야 합니다.
		// 잠시 뒤 새로운 생성자를 만듭니다.
		Course course = new Course(requestDto);
		
		// JPA를 이용하여 DB에 저장하고, 그 결과를 반환합니다.
    	return courseRepository.save(course);
}
  • Method : POST
  • Request URL : http://localhost:8080/api/courses
  • HEADERS 
    • Name : Content-Type
    • Value : application/json

  • BODY : 값 입력


3. API - PUT(수정) 작동 확인

// Controller

@PutMapping("/api/courses/{id}")
public Long updateCourse(@PathVariable Long id, @RequestBody CourseRequestDto requestDto) {
    return courseService.update(id, requestDto);
}
  • Method : PUT
  • Request URL : http://localhost:8080/api/courses/1
  • HEADERS 
    • Name : Content-Type
    • Value : application/json
  • BODY : 수정할 값 입력

  • GET으로 수정된 데이터 조회