对不起,如果这是一个基本问题。但我打算为我的网站制作一个 api。首先,这个 API 将由我使用,但稍后我将发布供开发人员使用它。我很困惑,这个网站将用于移动应用程序和网站。我打算为此制作安卓应用程序。
问题是我是否必须用不同的语言制作这个api,即在Java中用于android平台,在iOS的Objective C和javascript和php中用于Web?
如果我只在 javascript 中执行此操作,它会适用于多个平台吗?
在服务器端,你的JSON API将在一个平台上用一种语言编写,这可以是PHP,.NET或您选择的任何平台。
在客户端(iPhone,Android等(,您需要编写一个能够发出请求并处理对JSON API的响应的客户端。
但是,为了在客户端 API 之间强制保持一致性,您可以使用一种模式,例如请求-回复模式,我一直使用它,因为它易于使用和实现。
这个想法是,对于每个JSON API方法,你都有一个请求类和一个响应类。您还需要编写一个表示 JSON API 的服务客户端。
一个例子
假设我有一个 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完整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":"$1$$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对其进行解码。