Artigos

Tire duas dúvidas com o especialista no assunto Dr. Daphnis Citti de Lauro

restful crud 예제

@RESTful 추가된 컨트롤러는 서로 다른 URI에 자동으로 매핑되는 고정된 메서드 집합을 제공합니다. CRUD 예제에 유용한 것을 살펴보겠습니다: 이 게시물에서는 Spring MVC 4를 사용하여 CRUD Restful WebService를 작성하고 RestTemplate를 사용하여 해당 서비스를 사용하도록 REST 클라이언트를 작성합니다. 또한 외부 클라이언트를 사용하여 해당 서비스를 테스트합니다. 가자. 그림 4-6의 세 가지 실패 응답 코드 중 가장 어려운 것은 호환되지 않는 상태로 인해 요청이 실패한 경우입니다. 이러한 종류의 실패의 예는 소비자가 이미 바리스타에 의해 음료를 제공 한 후 순서를 변경하려고하는 경우입니다. 클라이언트에 충돌하는 상태를 다시 신호하기 위해 서비스는 예제 4-16과 같이 409 충돌 상태 코드로 응답합니다. 주문의 각 작업은 HTTP 동사 중 하나에 매핑할 수 있습니다. 예를 들어 새 주문을 만들기 위해 POST를 사용하고, 세부 정보를 검색하기 위해 GET을 사용하고, 세부 정보를 업데이트하기 위해 PUT을 사용하고, 삭제를 위해 삭제합니다. 적절한 상태 코드와 몇 가지 상식 패턴이 혼합되면 HTTP는 CRUD 도메인에 적합한 플랫폼을 제공하여 그림 4-2와 같이 매우 간단한 아키텍처를 만들 수 있습니다. Idempotent 는 여러 번의 성공적인 요청의 결과가 초기 응용 프로그램 후 리소스 의 상태를 변경하지 않음을 의미합니다 : 삭제는 처음 삭제를 사용할 때 리소스 (초기 응용 프로그램)를 삭제하지만 그 후에는 삭제하기 때문에 idempotent 메서드입니다. 리소스가 이미 삭제되어 있으므로 다른 모든 요청은 결과가 없습니다. 이 예제에서는 If-Match 헤더를 사용하여 두 번째 소비자가 첫 번째 소비자의 변경 내용을 덮어쓰지 못하도록 했습니다.

If-Match 외에도 소비자는 If-None-Match를 사용할 수도 있습니다. If-None-Match 헤더는 소비자가 마지막으로 액세스한 이후 관련 리소스가 변경된 경우에만 서비스를 처리하도록 지시합니다. If-None-Match의 주요 용도는 서비스 측면에서 중요한 컴퓨팅 리소스를 저장하는 것입니다. 예를 들어, 서비스가 표현을 생성하기 위해 계산을 수행하는 것보다 ETag 값을 비교하는 것이 훨씬 저렴할 수 있습니다. 클라이언트는 리소스를 변경하도록 하는 요청 없이 여러 번 표현을 가져올 수 있습니다.