PATCH ãªã¯ã¨ã¹ãã¡ã½ãã
PATCH 㯠HTTP ã®ãªã¯ã¨ã¹ãã¡ã½ããã§ããªã½ã¼ã¹ã¸ã®é¨åçãªå¤æ´ãé©ç¨ãã¾ãã
PATCH 㯠CRUD ã«è¦ããã "update" ã®æ¦å¿µã«ããé¡ä¼¼ãã¦ãã¾ãï¼ä¸è¬çã«ã HTTP 㯠CRUD ã¨ã¯ç°ãªãã両è
ã¯æ··åããã¹ãã§ã¯ããã¾ããï¼ã
PUT ã¨æ¯è¼ããã¨ãPATCH ã¯ãªã½ã¼ã¹ã夿´ããããã®ä¸é£ã®æç¤ºã¨ãã¦æ©è½ããã®ã«å¯¾ããPUT ã¯ãªã½ã¼ã¹ã®å®å
¨ãªç½®ãæãã表ãã¾ãã
PUT ãªã¯ã¨ã¹ãã¯å¸¸ã«ã¹ãçã§ãï¼åããªã¯ã¨ã¹ããè¤æ°åç¹°ãè¿ãã¦ããªã½ã¼ã¹ã®ç¶æ
ã¯å¤ããã¾ããï¼ã䏿¹ãPATCH ãªã¯ã¨ã¹ãã«ã¯å¸¸ã«ã¹ãçæ§ãä¿è¨¼ãããã¨ã¯éãã¾ããã
ä¾ãã°ãèªåã¤ã³ã¯ãªã¡ã³ãããã«ã¦ã³ã¿ãã£ã¼ã«ãããªã½ã¼ã¹ã®ä¸å¯æ¬ ãªé¨åã§ããå ´åã PUT ã¯èªç¶ã«ããã䏿¸ããã¾ããï¼ãã¹ã¦ã䏿¸ãããã®ã§ï¼ã PATCH ã¯å¿
ãããããã¨ã¯éãã¾ããã
POST ã¨åæ§ã«ãPATCH ãªã¯ã¨ã¹ãã¯ä»ã®ãªã½ã¼ã¹ã«å¯ä½ç¨ãããããå¯è½æ§ãããã¾ãã
ãµã¼ãã¼ã PATCH ã«å¯¾å¿ãã¦ãããã©ããã調ã¹ãããã«ããµã¼ãã¼ã¯ Allow ã¾ã㯠Access-Control-Allow-Methods ï¼CORS ã®å ´åï¼ã¬ã¹ãã³ã¹ãããã¼ã®ãªã¹ãã«è¿½å ãããã¨ã§å¯¾å¿ç¶æ³ãç¥ããããã¨ãã§ãã¾ãã
PATCH ã対å¿ãã¦ãããã¨ã示ãããä¸ã¤ã®æé»çãªææ¨ã¯ãAccept-Patch ãããã¼ï¼é常ããªã½ã¼ã¹ã«å¯¾ãã OPTIONS ãªã¯ã¨ã¹ãã®å¾ã«éä¿¡ãããï¼ã§ãããããã¯ãµã¼ãã¼ããªã½ã¼ã¹ã«å¯¾ãã PATCH ãªã¯ã¨ã¹ãã§çè§£å¯è½ãªã¡ãã£ã¢ç¨®å¥ãæ²è¼ãã¦ãããã®ã§ããã
| ãªã¯ã¨ã¹ãã®æ¬æ | ãã |
|---|---|
| æåæã®ã¬ã¹ãã³ã¹ã®æ¬æ | å¯ |
| å®å ¨æ§ | ãªã |
| ã¹ãçæ§ | ãªã |
| ãã£ãã·ã¥ | 鮮度ãè¡¨ãæ å ±ãå«ã¾ãã¦ããå ´åã®ã¿å¯è½ |
| HTML ãã©ã¼ã ã§ã®å©ç¨ | ä¸å¯ |
æ§æ
PATCH <request-target>["?"<query>] HTTP/1.1
<request-target>-
Hostãããã¼ã§æä¾ãããæ å ±ã¨çµã¿åãããã¨ãã®ããªã¯ã¨ã¹ãã®ã¿ã¼ã²ãããªã½ã¼ã¹ãèå¥ãã¾ãã ããã¯å ã®ãµã¼ãã¼ã¸ã®ãªã¯ã¨ã¹ãã«ããã¦ã¯çµ¶å¯¾ãã¹ï¼/path/to/file.htmlãªã©ï¼ã§ããããããã·ã¼ã¸ã®ãªã¯ã¨ã¹ãã«ããã¦ã¯çµ¶å¯¾ URLï¼http://www.example.com/path/to/file.htmlãªã©ï¼ã§ãã <query>çç¥å¯-
çå符
?ã§å§ã¾ããªãã·ã§ã³ã®ã¯ã¨ãªã¼æåã å¤ãã®å ´åãkey=valueã®çµã®å½¢ã§è奿 å ±ãä¿æããããã«ä½¿ç¨ããã¾ãã
ä¾
>ãªã½ã¼ã¹ã®å¤æ´ã«æå
ãµã¼ãã¼ä¸ã«ãæ°å¤ ID 123 ãæã¤ã¦ã¼ã¶ã¼ã表ããªã½ã¼ã¹ã以ä¸ã®æ¸å¼ã§åå¨ããã¨ä»®å®ãã¾ãã
{
"firstName": "Example",
"LastName": "User",
"userId": 123,
"signupDate": "2024-09-09T21:48:58Z",
"status": "active",
"registeredDevice": {
"id": 1,
"name": "personal",
"manufacturer": {
"name": "Hardware corp"
}
}
}
ãªã½ã¼ã¹å
¨ä½ã䏿¸ããã代ããã«ãPATCH ãªã¯ã¨ã¹ãã¯ãªã½ã¼ã¹ã®ç¹å®ã®é¨åã®ã¿ã夿´ãã¾ãã
ãã®ãªã¯ã¨ã¹ã㯠status ãã£ã¼ã«ããæ´æ°ãã¾ãã
PATCH /users/123 HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 27
Authorization: Bearer ABC123
{
"status": "suspended"
}
PATCH ãªã¯ã¨ã¹ãã®è§£éã¨èªè¨¼ã¯å®è£
ã«ä¾åãã¾ãã
æåããå ´åã¯ãæåããã¬ã¹ãã³ã¹ã¹ãã¼ã¿ã¹ã³ã¼ã ã®ããããã§ç¤ºããã¾ãã
ãã®ä¾ã§ã¯ãæä½ã«é¢ãã追å ã³ã³ããã¹ããæ¬ä½ã§éä¿¡ããå¿
è¦ããªãããã204 No Content ã使ç¨ããã¦ãã¾ãã
ETag ãæå®ãã¦ãå¼ã³åºãå´ãå°æ¥çã«æ¡ä»¶ä»ããªã¯ã¨ã¹ããå®è¡ã§ããããã«ãã¦ãã¾ãã
HTTP/1.1 204 No Content
Content-Location: /users/123
ETag: "e0023aa4f"
仿§æ¸
| 仿§æ¸ |
|---|
| RFC 5789 > |
ãã©ã¦ã¶ã¼ã®äºææ§
ãã©ã¦ã¶ã¼ã¯ã¦ã¼ã¶ã¼ä¸»å°ã®ã¢ã¯ã·ã§ã³ã« PATCH ã¡ã½ããã使ç¨ããªããããããã©ã¦ã¶ã¼äºææ§ãã¯é©ç¨ããã¾ããã
éçºè
㯠fetch() ã使ã£ã¦ãã®ãªã¯ã¨ã¹ãã¡ã½ãããè¨å®ãããã¨ãã§ãã¾ãã
é¢é£æ å ±
- HTTP ãªã¯ã¨ã¹ãã¡ã½ãã
- HTTP ã¬ã¹ãã³ã¹ã¹ãã¼ã¿ã¹ã³ã¼ã
- HTTP ãããã¼
204Allow,Access-Control-Allow-Methodsãããã¼Accept-Patchâ ãµã¼ãã¼ãåãå ¥ãã PATCH ææ¸ã®å½¢å¼ãæå®ãã¾ãã- JSON Patch Generator