REST resources ਉੱਤੇ ਕੰਮ ਕਰਨ ਵਾਲੇ verbs ਵਜੋਂ ਮਿਆਰੀ HTTP methods ਵਰਤਦੀ ਹੈ। CRUD (Create, Read, Update, Delete) ਨਾਲ ਆਮ ਮੈਪਿੰਗ ਇਹ ਹੈ:
REST resources ਉੱਤੇ ਕੰਮ ਕਰਨ ਵਾਲੇ verbs ਵਜੋਂ ਮਿਆਰੀ HTTP methods ਵਰਤਦੀ ਹੈ। CRUD (Create, Read, Update, Delete) ਨਾਲ ਆਮ ਮੈਪਿੰਗ ਇਹ ਹੈ:
| CRUD | Method | ਆਮ ਵਰਤੋਂ |
|---|
| Create | POST | ਇੱਕ collection ਵਿੱਚ ਨਵਾਂ resource ਜੋੜੋ |
| Read | GET | ਇੱਕ resource ਜਾਂ list ਲਿਆਓ |
| Update (ਪੂਰਾ) | PUT | ਇੱਕ resource ਪੂਰੀ ਤਰ੍ਹਾਂ ਬਦਲੋ |
| Update (ਅੰਸ਼ਿਕ) | PATCH | ਕੁਝ fields ਸੋਧੋ |
| Delete | DELETE | ਇੱਕ resource ਹਟਾਓ |
POST /users HTTP/1.1
Content-Type: application/json
{ "name": "Ann", "email": "[email protected]" }
HTTP/1.1 201 Created
Location: /users/42
{ "id": 42, "name": "Ann", "email": "[email protected]" }
PUT /users/42 ਪੂਰੀ representation ਭੇਜਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ; PATCH /users/42 ਸਿਰਫ਼ ਬਦਲਣ ਵਾਲੇ fields ਭੇਜਦਾ ਹੈ (ਜਿਵੇਂ { "email": "[email protected]" })।
ਇਹ ਦੋ ਵੱਖ-ਵੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ:
GET, HEAD, OPTIONS safe ਹਨ।GET, PUT, DELETE, HEAD idempotent ਹਨ।Method Safe? Idempotent?
GET yes yes
HEAD yes yes
PUT no yes (replacing with the same body twice = same result)
DELETE no yes (deleting twice = still deleted)
PATCH no no* (depends on the patch; not guaranteed)
POST no no (posting twice usually creates two resources)
ਇੰਟਰਵਿਊ ਲੈਣ ਵਾਲੇ ਇਹ ਦੇਖਣ ਲਈ ਪੁੱਛਦੇ ਹਨ ਕਿ ਕੀ ਤੁਸੀਂ HTTP semantics ਨੂੰ ਭਰੋਸੇਯੋਗ APIs ਬਣਾਉਣ ਜੋਗਾ ਸਮਝਦੇ ਹੋ। safe/idempotent ਦਾ ਭੇਦ ਸਿਧਾਂਤਕ ਨਹੀਂ: ਇਹ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ clients, proxies, ਅਤੇ CDNs ਨੂੰ ਕੀ ਕਰਨ ਦੀ ਆਗਿਆ ਹੈ। Safe methods ਨੂੰ ਖੁੱਲ੍ਹ ਕੇ cache ਅਤੇ prefetch ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; idempotent methods ਨੂੰ ਇੱਕ network timeout ਤੋਂ ਬਾਅਦ side effects ਦੁਹਰਾਉਣ ਦੇ ਜੋਖਮ ਬਿਨਾਂ ਆਪਣੇ ਆਪ retry ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ — ਇਸੇ ਲਈ ਇੱਕ client PUT ਜਾਂ DELETE ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ retry ਕਰ ਸਕਦਾ ਹੈ ਪਰ POST retry ਕਰਦੇ ਸਮੇਂ ਸਾਵਧਾਨ ਰਹਿਣਾ ਪੈਂਦਾ ਹੈ (ਇਹ ਦੋ orders ਬਣਾ ਸਕਦਾ ਹੈ)। ਕਲਾਸਿਕ ਗ਼ਲਤੀ side effects ਸ਼ੁਰੂ ਕਰਨ ਲਈ GET ਵਰਤਣੀ ਹੈ (ਜਿਵੇਂ GET /users/42/delete), ਜੋ caching ਤੋੜ ਦਿੰਦੀ ਹੈ ਅਤੇ crawlers ਨੂੰ ਗ਼ਲਤੀ ਨਾਲ ਡਾਟਾ ਬਦਲਣ ਦਿੰਦੀ ਹੈ। ਸਹੀ method ਚੁਣਨਾ — ਅਤੇ ਇਸਦੇ safety ਤੇ idempotency ਇਕਰਾਰ ਦਾ ਸਤਿਕਾਰ ਕਰਨਾ — ਹੀ ਉਹ ਹੈ ਜੋ ਇੱਕ API ਨੂੰ ਅਨੁਮਾਨਯੋਗ ਅਤੇ ਇਸਦੇ ਦੁਆਲੇ tooling ਬਣਾਉਣ ਲਈ ਸੁਰੱਖਿਅਤ ਬਣਾਉਂਦਾ ਹੈ।
ਵਿਸਤ੍ਰਿਤ ਜਵਾਬਾਂ ਨਾਲ IT ਇੰਟਰਵਿਊ ਸਵਾਲਾਂ ਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ — ਜੂਨੀਅਰ ਤੋਂ ਸੀਨੀਅਰ ਤੱਕ।
ਦਾਨ ਕਰੋ