SpringMVC 인터넷 소프트웨어 구조 REST 사용 상세 설명

3060 단어 SpringMVCREST
REST 가 뭐야?
REST:즉,Representational State Transfer 입 니 다.(자원)표현 층 상태 전환.현재 가장 유행 하 는 인터넷 소프트웨어 구조 이다.그것 은 구조 가 뚜렷 하고 기준 에 부합 되 며 이해 하기 쉽 고 확장 이 편리 하기 때문에 점점 더 많은 사이트 에서 사용 되 고 있다.
『9744』자원(Resources):네트워크 의 실체 또는 네트워크 의 구체 적 인 정보 라 고 할 수 있 습 니 다.그것 은 텍스트 한 장,그림 한 장,노래 한 곡,서비스 일 수 있다.한 마디 로 하면 구체 적 인 존재 이다.하나의 URI(자원 포 지 셔 닝 문자 통일)로 가리 킬 수 있 으 며,각 자원 은 특정한 URI 에 대응 합 니 다.이 자원 을 가 져 오 려 면 URI 에 접근 하면 됩 니 다.따라서 URI 는 모든 자원 의 유일한 식별 자 입 니 다.
☐표현 층(Representation):자원 을 구체 적 으로 나타 내 는 형식 을 표현 층(Representation)이 라 고 한다.예 를 들 어 텍스트 는 txt 형식 으로 표현 할 수도 있 고 HTML 형식,XML 형식,JSON 형식 으로 표현 할 수도 있 으 며 바 이 너 리 형식 으로 도 표현 할 수 있다.
☐상태 전환(State Transfer):요청 을 할 때마다 클 라 이언 트 와 서버 의 상호작용 과정 을 대표 합 니 다.HTTP 프로 토 콜 은 모든 상태 가 서버 에 저 장 된 상태 가 아 닌 상태 프로 토 콜 입 니 다.따라서 클 라 이언 트 가 서버 를 조작 하려 면 특정한 수단 을 통 해 서버 측 에'상태 전환'(State Transfer)이 발생 하도록 해 야 한다.이런 전환 은 표현 층 위 에 세 워 진 것 이기 때문에'표현 층 상태 전환'이다.
☐구체 적 으로 말 하면 HTTP 프로 토 콜 에서 네 가지 조작 방식 을 나타 내 는 동사:GET,POST,PUT,DELETE.그것들 은 각각 네 가지 기본 조작 에 대응한다.
☐GET 는 자원 을 가 져 오 는 데 사 용 됩 니 다.
☐POST 는 자원 을 새로 만 드 는 데 사 용 됩 니 다.
☐PUT 는 자원 을 수정 하 는 데 사 용 됩 니 다.
☐DELETE 는 자원 을 삭제 하 는 데 사 용 됩 니 다.
REST 를 어떻게 사용 합 니까?
Google 이 구현 하고 자 하 는 효 과 는 다음 그림 과 같 습 니 다.클 라 이언 트 를 통 해 특수 URL(예 를 들 어 이 URL 끝의 숫자 는 사용자 ID 를 표시 함)을 방문 하여 CURD 작업 을 신속하게 수행 합 니 다.

그러나 브 라 우 저 form 폼 은 GET 와 POST 요청 만 지원 합 니 다.DELETE,PUT 등 method 는 지원 되 지 않 습 니 다.Spring 3.0 에 필 터 를 추가 하여 이 요청 을 표준 http 방법 으로 변환 하여 GET,POST,PUT 와 DELETE 요청 을 지원 할 수 있 습 니 다.이 필 터 는 HiddenhttpMethodFilter 입 니 다.
필터 의 실현 원 리 는 크게 다음 과 같 습 니 다.요청 매개 변수 에 포함 되 어 있 는 지 확인 합 니 다.method 라 는 매개 변 수 를 포함 하면 그 값 을 가 져 오고 어떤 조작 인지 판단 한 후에 계속 전달 합 니 다.

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    //methodParam="_method";
     String paramValue = request.getParameter(this.methodParam);
    if("POST".equals(request.getMethod()) && StringUtils.hasLength(paramValue)) {
      String method = paramValue.toUpperCase(Locale.ENGLISH);
      HiddenHttpMethodFilter.HttpMethodRequestWrapper wrapper = new HiddenHttpMethodFilter.HttpMethodRequestWrapper(request, method);
      filterChain.doFilter(wrapper, response);
    } else {
      filterChain.doFilter(request, response);
    }

  }

프레젠테이션(REST 스타일 접근)
1.필터 HiddenhttpMethodFilter 를 설정 하면 POST 요청 을 DELETE 또는 PUT 요청 으로 변환 할 수 있 습 니 다.

2.폼 에 숨겨 진 영역 을 가 져 오기

설명:name="method';
3.컨트롤 러 에서 요청 처리

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기