laravel이 Route::resource를 사용해 restful 아키텍처의 경로를 생성하는 것을 봤고, 업데이트는 패치 요청을 사용하며, 일부 곳에서는 put을 사용하라고 해서 확인해봤습니다
- 모든 자료를 업데이트하기 위해
- 패치 메서드는 로컬 리소스를 업데이트하는 데 사용됩니다
예를 들어, userId, userName, userGender 등 10개의 필드가 있는 UserInfo가 있다고 합시다. 하지만 편집 기능은 필요에 따라 특정 페이지에서만 userName을 수정할 수 있는데, 지금 어떻게 업데이트해야 하나요?
사람들은 보통 수정된 userName이 포함된 전체 userInfo 객체를 백엔드에 전달하여 전체 업데이트를 합니다. 하지만 곰곰이 생각해보면, 이 접근법은 다소 이중적이고 대역폭 낭비처럼 느껴집니다(기술적으로는 대역폭에 관심이 없다면 지역 폭군입니다).
그래서 패치가 탄생했는데, 이는 지정된 리소스에 userName만 보내 요청이 부분 업데이트임을 나타내고, 백엔드는 받은 필드만 업데이트합니다.
이론적으로는 put을 사용했지만 완전한 UserInfo를 제공하지 않으면 누락된 필드는 모두 지워져야 합니다
PUT:알려진 URL 또는 두 개의 리소스를 생성하는 데 사용됩니다알려진 자원은 완전히 교체됩니다。 일반적으로 알려진 리소스를 업데이트하는 데 사용되며, 생성하려는 객체의 URL을 미리 알지 않는 한 그렇습니다.
올리기:하위 자원을 생성하기 위해,만약 멎등원이 아니라면, 여러 번 실행되면 동일한 자원이 여러 개 생성됩니다。 (능력:프로그래밍에서 멪등원 연산은 임의의 다중 실행이 단일 실행과 동일한 효과를 가지는 점으로 특징지어집니다。 )
패치:이는 PUT 메서드를 보완하는 수단으로, 알려진 자원에 대해 수행하는 데 사용됩니다부분 업데이트。
|