Как я могу изменить свой текущий API на restful API? - PullRequest
1 голос
/ 06 июля 2011

У меня есть что-то вроде этого .... Книги: У меня есть программа php, которая принимает только пост-запросы ..., ссылка примерно такая:

http://www.mydomain.com/books.php

Если пользователь хочет сделать запрос, ему нужно сделать что-то вроде этого: Создайте: Титулы:

a=c             //a = action
d=a array of dataJson    //d = a defined books data in Json format
u=user id
s=session key

и я вернусь:

0 / !0     //0 = success case, !0 will give the error code

массив идентификаторов // новые создаваемые элементы идентификатор массива

Читайте: Титулы:

a=r                //a = action
id=the books id      (optional) //read the books from book id
title= a books title (optional) //read the books from title
author= an author    (optional) //read the books from author
u=user id
s=session key

// если нет дополнительных параметров, вернуть все книги.

и я вернусь:

0 / !0     //0 = success case, !0 will give the error code
arrayOfBooks //books in array in Json format

Обновление: Титулы:

a=u                //a = action
id=the books id       //update the books from book id
d=a dataJson    //d = a defined books data in Json format
u=user id
s=session key

и я вернусь:

0 / !0     //0 = success case, !0 will give the error code

Удалить: Титулы:

a=d                //a = action
id=the books id       //delete the books from book id
u=user id
s=session key

и я вернусь:

0 / !0     //0 = success case, !0 will give the error code

Это нормально для моего текущего дизайна, чтобы перейти на "ОТДЫХ"? Спасибо.

1 Ответ

1 голос
/ 06 июля 2011

Я думаю, вам следует использовать стандартные коды статуса Http вместо кодов ошибок.Вы должны использовать каждый ценный параметр в URL в иерархическом порядке, например:

Создать должен быть:

POST : http://www.mydomain.com/user/<userId>/books/create 
Http request body = your json data

Answer should be : 201 -> Created or 409 -> Conflict if there is one defined with the same title

Если вы используете sessionId в качестве параметра URL,Вы также должны использовать его в URL.Вы можете использовать тело ответа Http для передачи bookIds обратно в массив json.

Чтение должно быть:

GET http://www.mydomain.com/user/<userId>/books/<bookId|@all>/<title|@all>/<author|@all>

Обновление:

POST http://www.mydomain.com/user/<userId>/books/<bookId> 
Http request body = your json data. (updatable fields only)

Answer : use HttpStatusCodes as response statuses and data as bookId

Удалить:

POST http://www.mydomain.com/user/<userId>/books/<bookId>/delete

Answer : use HttpStatusCodes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...