A simple example of a useful "RESTful" API using books as an example?

StackOverflow https://stackoverflow.com/questions/23634568

  •  21-07-2023
  •  | 
  •  

سؤال

Can some please confirm or correct my thinking:

GET test.com/book/books **- get a list of all books**
PUT test.com/book/new **- create a new book**
GET test.com/book/9780142423356/Charles-Dickens-Great-Expectations **- get a specific book**

Is it correct?

How does REST deal with concurrent users - two people writing to test.com/book/9780142423356/ for example?

هل كانت مفيدة؟

المحلول 2

More typical would be

GET /books - get a list of all books

POST /books - create a new book
  - or -
PUT /books/Charles-Dickens-Great-Expectations - create a new book

GET /books/9780142423356 - get a specific book
  - or -
GET /books/Charles-Dickens-Great-Expectations  - get a specific book

POST is used when the unique identifier for the book is not known. PUT is preferred when the creator of the resource knows the unique identifier.

As far as concurrency management, the HTTP spec has headers that will help, such as etag, if-match, and if-none-match.

نصائح أخرى

REST doesn't worry about concurrency because REST is programming model only. It is up to you on how concurrency is managed.

PUT is for updating, POST is used for creating new resources, but it is up to your implementation that while updating if resource doesn't exist you can create.

With respect to concurrency you would have to manage that by yourself.

If you are using any layered approach for data CRUD operations, you have to code the DAL to handle concurrency.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top