Как сделать JSON api
Извините, если это базовый вопрос. Но я планирую сделать api для своего сайта. Сначала этот api будет использоваться мной, но позже я выпущу его для разработчиков. Меня смущает, этот сайт будет использоваться как для мобильных приложений и веб-сайтов. Я планирую сделать android приложение для этого.
вопрос в том, должен ли я сделать этот api на разных языках, т. е. в Java для Android plateforms, в Objective C для iOS и javascript и php для веб?
будет ли это работать для нескольких платформ, если я сделаю это только в javascript?
4 ответов
на стороне сервера ваш JSON API будет написан на одном языке на одной платформе, это может быть PHP, .NET или любая платформа по вашему выбору.
на стороне клиента (iPhone, Android и т. д.) Вам нужно будет написать клиент, который способен делать запросы и обрабатывать ответы на ваш JSON API.
однако, чтобы обеспечить согласованность в API вашего клиента, вы можете использовать шаблон, такой как шаблон запроса-ответа, я использую это все время, как его легко использовать и реализовывать.
идея заключается в том, что для каждого метода JSON API у вас есть класс запроса и класс ответа. Вы также напишете клиент службы, представляющий ваш API JSON.
пример
предположим, у меня есть служба JSON, которая дает мне контактные данные из моей адресной книги, она может иметь следующие методы обслуживания:
/contact/{id}
/address_book
/save_contact/{id}
мой клиент службы (пример в Java) может иметь это интерфейс:
public interface AddressBookClient {
public GetContactResponse getContact(GetContactRequest request);
public GetAddressBookResponse getAddressBook(GetAddressBookRequest request);
public SaveContactResponse saveContact(SaveContactRequest request);
}
хотя реализация будет отличаться на клиентских платформах, использование одного и того же подхода или шаблона будет поддерживать их согласованность.
надеюсь, что это поможет.
Я бы предложил что-то вроде JSON на основе REST full API.
Это делает ваш язык API независимым.
после создания API вы можете создавать клиентские библиотеки на популярных языках.
Если API основан на JSON, он реализован практически для любого популярного языка сегодня. Вы можете общаться между приложениями, построенными на разных языках, без проблем.
вы можете увидеть обширный список библиотек для разных языков официальный сайт JSON.
Я использую URL-адрес для запроса JSON:
api.example.com/api.php?action=User.login&username=admin&password=111
ответ JSON:
{
"resultcode":100,
"resultdata":{
"id":"1",
"username":"admin",
"password":"$$TUPijxhaACBBZHMowbtgD.",
"name":"chenwendong",
"email":"mdowen@foxmail.com",
"sex":"\u7537",
"age":"11",
"phone":"15811111111",
"address":"\u5317\u4eac\u7231\u7231\u7231\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a",
"province_id":"1",
"city_id":"1",
"last_login_ip":"127.0.0.1",
"last_login_time":"2012-05-07 17:32:55",
"state":"1",
"intime":"2012-05-07 09:49:11",
"is_deleted":"0",
"province":"\u5317\u4eac\u5e02",
"city":"",
"sid":"fcd6321c4cd4748a0cee2e7cc337506b",
"uid":"1",
"message_count":"11"
}
}
затем кто-то может использовать Android JSON для его декодирования.