2012-05-18 11 views
7

Scusa se questa è una domanda di base. Ma sto progettando di creare un'API per il mio sito web. Prima questa API verrà utilizzata da me, ma in seguito verrà rilasciata per gli sviluppatori. Sono confuso, questo sito Web verrà utilizzato sia per le app mobili che per i siti Web. Sto pensando di creare un'app per Android per questo.Come fare json api

La domanda è: devo fare questa API in diverse lingue, ad esempio in Java per piattaforme di Android, in Objective C per iOS e javascript e php per il web?

Funzionerà su più piattaforme se lo faccio solo in javascript?

risposta

7

Sul lato server, la tua API JSON dovrebbe essere scritta in una lingua su una piattaforma, questo potrebbe essere PHP, .NET o qualsiasi piattaforma di tua scelta.

Sul lato client (iPhone, Android, ecc.) È necessario scrivere un client in grado di effettuare richieste e gestire le risposte alla propria API JSON.

Tuttavia, al fine di applicare la coerenza tra le API del client è possibile utilizzare un modello, come il modello richiesta-risposta, lo uso sempre come facile da usare e da implementare.

L'idea è per ogni metodo API JSON, si dispone di una classe di richiesta e una classe di risposta. Dovresti anche scrivere un client di servizio che rappresenti la tua API JSON.

Un esempio

Diciamo che ho un servizio di JSON che mi dà contatti dalla mia rubrica, potrebbe avere questi metodi di servizio:

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

Il mio cliente di servizio (ad esempio in Java) potrebbe avere questa interfaccia:

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

Anche se l'implementazione sarebbe diversa tra client platfo rms, usando lo stesso approccio o modello, li manterrebbe coerenti.

Spero che questo aiuti.

6

Vorrei suggerire qualcosa come un'API completa REST basata su JSON.

Ciò rende la lingua dell'API indipendente.

Una volta eseguita l'API, è possibile creare librerie client in lingue popolari.

+4

Mi aspetto un motivo per il downgrade di una risposta. –

3

Se l'API è basata su JSON, è implementata praticamente per qualsiasi lingua popolare oggi. Puoi comunicare tra le applicazioni create in diverse lingue senza problemi.

È possibile visualizzare un elenco completo di librerie per lingue diverse allo official JSON site.

1

sto usando un URL per richiedere la JSON:

api.example.com/api.php?action=User.login&username=admin&password=111 

La risposta JSON è:

{ 
    "resultcode":100, 
    "resultdata":{ 
     "id":"1", 
     "username":"admin", 
     "password":"$1$$TUPijxhaACBBZHMowbtgD.", 
     "name":"chenwendong", 
     "email":"[email protected]", 
     "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" 
    } 
} 

Poi, qualcuno può utilizzare Android JSON per decodificarlo.

Problemi correlati