greptilian logo

IRC log for #rest, 2017-02-12

https://trygvis.io/rest-wiki/

| Channels | #rest index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

All times shown according to UTC.

Time S Nick Message
00:36 tbsf joined #rest
00:48 tbsf joined #rest
01:27 fuzzyhorns joined #rest
01:54 tbsf joined #rest
02:13 FiveBroDeepBook joined #rest
02:13 FiveBroDeepBook left #rest
02:19 tbsf joined #rest
02:36 tbsf joined #rest
02:48 tbsf joined #rest
03:03 tbsf joined #rest
04:04 tbsf joined #rest
05:07 tbsf joined #rest
07:06 FiveBroDeepBook joined #rest
07:56 FiveBroDeepBook left #rest
08:11 wsieroci joined #rest
10:43 wsieroci joined #rest
13:00 FiveBroDeepBook joined #rest
13:00 FiveBroDeepBook left #rest
14:12 tbsf joined #rest
14:46 wsieroci joined #rest
15:14 tbsf joined #rest
15:57 fuzzyhorns joined #rest
16:04 tbsf joined #rest
16:05 d1z joined #rest
16:05 d1z hello
16:05 d1z I think a friend of mine who is a really good developer, has a confusion as to how PUT and POST map into a restful api
16:06 d1z he tells me that POST is used to create a new object through the api, and PUT is used when you want to update that object
16:07 d1z however I'm seeing the api of ns1.com, and they have it backwards (or right, depending on who's wrong). They use PUT to create a brand new zone or record, and then use POST to update them
16:07 d1z who is right?
16:08 asdf d1z, you can use the RFC as a reference - https://tools.ietf.org/html/rfc7231#section-4.3.3
16:08 asdf there you can read that when you send a POST, the resource itself decides what to do; and PUT is used to create or update the target resource
16:08 asdf indeed, it is very common for a "collection" kind of resource to create a new item inside it when it receives a POST
16:09 asdf it'd be pretty rare to do updates via POST, though
16:10 asdf (just because why would you use a "catch-all" POST, where there are dedicated ways to do updates - ie. PUT or PATCH)
16:10 asdf s/where/when/
16:12 d1z asdf: https://ns1.com/api/#records
16:13 d1z Then they have it backwards. They use PUT to create a new record||zone and POST to update a record||zone
16:13 asdf sure, it's technically still compliant with that rfc - if the resource chooses what to do, it can choose to update itself on a POST :)
16:14 asdf the point about PUT is, it creates-or-updates _the target resource_; so it's fine to PUT /foo/bar/42 to create the /foo/bar/42 resource, but it'd be silly to PUT /foo/bar to create /foo/bar/42
16:14 d1z still, I wonder what would be the reason for doing it that way
16:15 asdf i suppose it's because they're taking the "PUT replaces the whole state of the resource" part very literally, and they want to allow partial updates
16:16 asdf that part isn't very important IMO - if you PUT something, there's no guarantees you'll get that exact representation back on a following GET - someone (the server itself?) might've changed the state in the meantime
16:16 asdf (the rfc talks about that in the PUT section, too)
16:18 pdurbin d1z: if you ask the ns1 devs for the reasons why and get an answer, please let us know. I can only assume they thought through this stuff a bit.
16:22 _ollie joined #rest
16:51 Haudegen joined #rest
17:14 tbsf joined #rest
17:33 d1z joined #rest
18:11 Haudegen joined #rest
19:03 Haudegen joined #rest
19:28 d1z joined #rest
20:09 tbsf joined #rest
20:36 d1z joined #rest
21:23 d1z joined #rest
21:49 d1z joined #rest
22:00 timg__ joined #rest
22:11 tbsf joined #rest
23:51 tbsf joined #rest

| Channels | #rest index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

https://trygvis.io/rest-wiki/