Spring Boot 우아 한 RESTful 인터페이스 구축 과정 상세 설명
이 자리 에 계 신 여러분 들 이 RESTful 에 대해 조금 들 었 다 고 믿 습 니 다.그렇다면 RESTful 은 무엇 일 까요?
REST(Representational State Transfer)표현 적 상태 이전 은 구조 적 제약 조건 과 원칙 이다.이러한 제약 조건 과 원칙 을 충족 시 키 는 애플 리 케 이 션 이나 디자인 이 RESTful 이다.주의해 야 할 것 은 REST 는 디자인 스타일 이지 표준 이 아니다.REST 는 보통 HTTP,URI,XML(표준 유 니 버 설 태그 언어 다음 키 집합),HTML(표준 유 니 버 설 태그 언어 다음 응용)등 기 존의 광범 위 하 게 유행 하 는 프로 토 콜 과 기준 을 기반 으로 한다.
이 말 은 좀 어 려 울 지 모 르 겠 지만,각 도 를 바 꾸 어 RESTful 을 설명 하 겠 습 니 다.
먼저 예 를 들 어 보 겠 습 니 다.
// ( )
localhost:8088/api/user/findAll :GET
// (RESTful)
localhost:8088/api/users :GET
// ( )
localhost:8088/api/user/update :POST
// (RESTful)
localhost:8088/api/users :PUT
// ( )
localhost:8088/api/user/add :POST
// (RESTful)
localhost:8088/api/users :POST
// ( )
localhost:8088/api/user/delete :DELETE
// (RESTful)
localhost:8088/api/users :DELETE
저 희 는 보통 주소 표시 줄 에 입력 한 주 소 를 URI(Uniform Resource Identifier)라 고 부 릅 니 다.중국어 로 번역 하면 통 일 된 자원 식별 자 입 니 다.자원,우리 가 브 라 우 저 페이지 에서 본 것 을 모두 자원 이 라 고 할 수 있 습 니 다.예 를 들 어 그림,문자,음성 등 입 니 다.
한편,URI 는 이러한 자원 의 위 치 를 찾 는 데 사 용 됩 니 다.RESTful 스타일 의 인터페이스 에는 자원 을 나타 내 는 명사 만 나타 나 고 이 자원 에 대한 조작 은 HTTP 에 내 장 된 몇 가지 요청 유형 을 통 해 구분 합 니 다.같은 경로 localhost:8088/api/users 는 요청 방식 이 다 르 기 때문에 서로 다른 인 터 페 이 스 를 찾 아 자원 상태 전환 을 완성 합 니 다.
요약 하면 REST 는 같은 URI 의 자원 에 대한 서로 다른 요청 방식(GET,POST,PUT,DELETE)(표현)에서 하 는 서로 다른 조작(검사,증가,수정,삭제)을 말 하 는데 자원 의 상태,즉 표현 적 상태 이전 을 바 꾸 는 것 이다.REST 스타일 에 맞 는 URI 는 RESTful 인터페이스 라 고 할 수 있다.
여 기 를 보면 RESTful 이 이미 알 고 있 는 차이 가 많 지 않다 고 믿 습 니 다.다음은 Spring Boot 에서 어떻게 사용 하 는 지 살 펴 보 겠 습 니 다.
SpringMVC RESTful 인터페이스 구축
SpringMVC 에서 우리 에 게 주 해 를 제공 하여 RESTful 인 터 페 이 스 를 구축 하 는 데 도움 을 줄 수 있 습 니 다.다음은 코드 를 직접 볼 수 있 습 니 다.
package indi.viyoung.viboot.restful.controller;
import indi.viyoung.viboot.restful.entity.User;
import indi.viyoung.viboot.restful.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author viyoung
* @since 2019-01-23
*/
@RestController
@RequestMapping("/users")
@Slf4j
@CrossOrigin
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public List<User> get() {
log.info("GET 。。。");
return userService.list();
}
@GetMapping(value = "/{id}")
public User get(@PathVariable String id) {
log.info("GET..{}... 。。。",id);
return userService.getById(id);
}
@PostMapping
public void post() {
log.info("POST 。。。");
}
@PutMapping
public void put() {
log.info("PUT 。。。");
}
@DeleteMapping
public void delete() {
log.info("DELETE 。。。");
}
}
다음은 전단 의 프로젝트 나 POStman 등 테스트 인터페이스 도구 가 필요 할 수도 있 습 니 다.저 는 전단 의 vue 기반 프로젝트 를 작 성 했 습 니 다.필요 한 것 은 viboot-front 를 다운로드 할 수 있 습 니 다.스타 찍 어 주세요.이 다섯 개의 단 추 를 차례대로 누 르 면 백 스테이지 의 콘 솔 이 각각 다른 문 구 를 출력 하 는 것 을 볼 수 있 습 니 다.
오리지널 문장 은 재능 이 부족 하고 학식 이 얕 으 니 잘못된 점 이 있 으 면 알려 주시 기 바 랍 니 다!
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.