php - 如何制作json api

标签 php javascript android api

抱歉,如果这是一个基本问题。但我打算为我的网站制作一个 api。首先这个 api 将由我使用,但稍后我将发布供开发人员使用它。我很困惑,这个网站将同时用于移动应用程序和网站。我打算为此制作 android 应用程序。

问题是我是否必须用不同的语言来制作这个 api,即在 Java 中用于 android 平台,在 Objective C 中用于 iOS 以及 javascript 和 php 用于 web?

如果我只用 javascript 制作它是否适用于多个平台?

最佳答案

在服务器端,您的 JSON API 将在一个平台上用一种语言编写,这可以是 PHP、.NET 或您选择的任何平台。

在客户端(iPhone、Android 等),您需要编写一个能够向您的 JSON API 发出请求和处理响应的客户端。

但是,为了在您的客户端 API 之间强制实现一致性,您可以采用一种模式,例如请求-回复模式,我一直使用这种模式,因为它易于使用和实现。

想法是对于每个 JSON API 方法,您都有一个 Request 类和一个 Response 类。您还可以编写代表您的 JSON API 的服务客户端。

一个例子

假设我有一个 JSON 服务,可以从我的地址簿中获取详细联系信息,它可能具有以下服务方法:

/contact/{id}
/address_book
/save_contact/{id}

我的服务客户端(Java 示例)可以有这个接口(interface):

public interface AddressBookClient {
    public GetContactResponse getContact(GetContactRequest request);
    public GetAddressBookResponse getAddressBook(GetAddressBookRequest request);
    public SaveContactResponse saveContact(SaveContactRequest request);
}

尽管客户端平台的实现会有所不同,但使用相同的方法或模式会使它们保持一致。

希望对您有所帮助。

关于php - 如何制作json api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10647940/

相关文章:

php - 中文字符问题,PHP Web 服务

php - 根据 PHP 列检索最后插入的 id

php - 如何销毁 PHP 中的特定 session 变量?

javascript - 在 React 组件中使用 Canvas-Datagrid

javascript - 拖放在 Firefox 中不起作用

android - AndEngine画线onSceneTouchEvent

php - Elasticsearch-如何在查询中使用多个分析器

javascript - 如何在 jQuery 或 JS 的 HTML 选择中多次选择相同的选项?

java - 将 Intent 从 Activity 传递到扩展应用程序的类

Android MaterialButton 不会在 android lollipop 中以编程方式更改它的颜色