«api-design» etiketlenmiş sorular

Uygulama Programlama Arayüzü (API) Tasarımı, genel amaçlı veya genel kullanıma yönelik kütüphaneler oluşturmak için en iyi uygulamaları tartışır.

6
Harika API'lerin ortak noktası nedir? [kapalı]
Kapalı . Bu sorunun daha fazla odaklanması gerekiyor . Şu anda cevapları kabul etmiyor. 6 yıl önce kapalı . Kilitli . Bu soru ve cevapları kilitlidir çünkü soru konu dışıdır, ancak tarihsel önemi vardır. Şu anda yeni yanıtları veya etkileşimleri kabul etmiyor. Harika API'lerle ilgili onları harika yapan nedir? Ben …
15 api-design 

7
İstemci uygulamalarından kullanıcı kimlik doğrulaması nasıl yapılır?
Birçok kullanıcıyı destekleyecek bir uygulama geliştiriyorum. Mesele şu ki, istemci / kullanıcının kimliğini nasıl doğrulayacağım. Kullanıcılarıma kimlik bilgileri vereceğim http://quickblox.com/ gibi bir uygulama oluşturuyorum ve bunları kimlik doğrulaması için kullanıcı adlarını ve şifrelerini koyamayacakları N uygulamaları oluşturmak için kullanacaklar . Diyelim ki aşağıdaki gibi gider. (Tıpkı QuickBlox gibi) 1. Kullanıcı …

1
REST modeline kaynakları yerleştirmenin doğru yolu nedir?
Hizmet bir REST API tasarlıyorum ve kaynakları yuvalamak için uygun bir şekilde takılıp var. Kaynaklar: ortaklar, biletler, ayarlar Kaynaklar arasındaki bağlantılar: eşin birçok bileti var, iş ortağı ayarlara sahip, İş mantığı: tüm ortakları anonim kullanıcı olarak listeleyebilirsiniz, anonim kullanıcı olarak belirtilen iş ortağına yeni bilet ekleyebilirsiniz, sadece iş ortağı biletlerini …
14 api  rest  api-design 

5
API tasarımında, ad hoc polimorfizm ne zaman kullanılır / kaçınır?
Bir JavaScript kütüphanesi tasarlıyor Magician.js. Linchpin, Rabbitgeçirilen argümanın dışına çıkan bir işlevdir . Kullanıcılarının bir tavşanı a String, a Number, a Function, belki de a'dan çıkarmak isteyebileceğini biliyor HTMLElement. Bunu akılda tutarak, API'sını şöyle tasarlayabilir: Sıkı arayüz Magician.pullRabbitOutOfString = function(str) //... Magician.pullRabbitOutOfHTMLElement = function(htmlEl) //... Yukarıdaki örnekteki her işlev, işlev …

3
Arka uç kimlikleri bir REST API'sında herkese açık mı olmamalı mı?
Bu adamın söylediklerine dayanarak: http://toddfredrich.com/ids-in-rest-api.html API kaynaklarını tanımlamak için UUID kullanma konusunda haklı olduğunu varsayalım. Sonra bu şekilde uygulamaya çalışırken sorunlarla karşılaşıyorum, bu: class FooEntity { final String id = null; //auto-generated by my backend (mongodb), not shared final UUID uid = UUID.randomUUID(); //the resource id } (İstemci ve sunucu …

4
DTO'lar için kompozisyon ve kalıtım kullanın
Tek Sayfa Uygulamamız için bir REST API'si sağlayan bir ASP.NET Web API'miz var. Bu API üzerinden veri aktarmak için DTO'lar / POCO'lar kullanıyoruz. Sorun şu ki, bu DTO'lar zamanla büyüyor, bu yüzden şimdi DTO'ları yeniden düzenlemek istiyoruz. Ben nasıl bir DTO tasarlamak için "en iyi uygulamalar" arıyorum: Şu anda sadece …
13 rest  api-design  web-api  dto  poco 

1
AtomPub'u ne zaman kullanmalıyım?
RESTful web hizmeti tasarımı üzerine bazı araştırmalar yapıyorum ve önemli bir karar noktası olduğunu düşündüğüm şeylere ulaştım, bu yüzden biraz tavsiye almak için topluma sunacağımı düşündüm. RESTful mimarisinin ilkelerine uygun olarak keşfedilebilir bir API sunmak istiyorum, bu yüzden çeşitli HTTP fiillerini mümkün olduğunca eksiksiz destekleyeceğim. Zorluğum bu kaynakların temsili seçimi …

8
Zaman uyumsuz işlevleri gösteren bir arabirim sızdıran bir soyutlama mı?
Bağımlılık Enjeksiyon Prensipleri, Uygulamaları ve Desenler kitabını okuyorum ve kitapta iyi tarif edilen sızdıran soyutlama kavramını okudum. Bu gün bağımlılık enjeksiyon kullanarak bir C # kod tabanı refactoring böylece engelleme yerine async çağrıları kullanılır. Bunu yaparken kod tabanımdaki soyutlamaları temsil eden ve zaman uyumsuz çağrıların kullanılabilmesi için yeniden tasarlanması gereken …

3
Hiyerarşik veriler için düz veya iç içe JSON?
Zaten ~ 5 kez ileri geri döndüm. Bu REST bitiş noktası /api/tags/dahili kullanım için olacak (3. taraf istemciler yok), onunla çalışan tek kişi benim. Bu iki temsil arasında karar veriyorum: Düz { "types":[ { "id":1, "text":"Utility" }, { "id":7, "text":"Lease Terms" }, ], "tags":[ { "id":8, "text":"Water", "type":1 }, { …
12 rest  api-design  json 

2
Bilinmeyen parametrelere izin vermeli miyim?
RESTful API tasarlıyorum ve başlık sorunu ile karşı karşıya, netlik için yeniden ifade: İstemci tanınmayan bir parametre gönderirse hızlı bir şekilde başarısız olmam gerekir mi? Örneğin, http://example.com/api/foo?bar=true&paula=bean Yukarıda, bargeçerli bir parametredir ancak paulaAPI tarafından belirtilmemiştir. Yapmalımıyım İstemciyi hatayı uyar Hızlı başarısız Boşver İstemciyi uyarırsam, yalnızca ilk parametre için bir uyarı …
12 rest  api-design 

1
Bir bağlantı noktasında deyimleri kullanma ile API'yi koruma
Python Rust için bir bağlantı noktası üzerinde çalışıyorum ve doğal olarak Python gibi Rust olarak ifade edilemez bazı kod koştu. Bunun bir örneği varsayılan parametreleri kullanmaktır: class Foo: def __init__(self, a="Hello"): self._a = a Rust'ta bunu bir oluşturucu kullanarak uygulayabilirsiniz: struct FooBuilder { a: &'static str, } struct Foo { …

2
RESTful API'sinde komut desenini uygulama
Umarım olabildiğince RESTful hale getirmek için bir HTTP API tasarlama sürecindeyim. İşlevselliğin birkaç kaynağa yayıldığı bazı eylemler vardır ve bazen geri alınması gerekir. Kendi kendime düşündüm, bu bir komut kalıbına benziyor, ama onu bir kaynağa nasıl modelleyebilirim? Böyle bir şeyle yaratılacak olan DepositAction gibi XXAction adında yeni bir kaynak tanıtacağım …

2
C ++ Kütüphane API Tasarımı
C ++ kütüphaneleri için iyi API tasarımı hakkında bilgi edinmek, paylaşılan nesneleri / dll'leri vb. İncelemek için iyi bir kaynak arıyorum. Güzel API'ler, güzel sınıflar, şablonlar ve benzeri kaynak seviyesinde yazma konusunda birçok kaynak var, ancak neredeyse hiçbir şey yok şeyleri paylaşılan kütüphanelerde ve yürütülebilir dosyalarda bir araya getirmek. John …

2
Bir alt nesne göndermek ve tüm ebeveynlerin tüm alt öğelerini almak için API uç noktaları nasıl tasarlanır?
Örneğin varlıklarım var: Müşteri, Rapor. Müşteri birçok Rapor içerebilir ve tek bir Rapor yönetimi için uç nokta bu şekilde iç içe olması gerektiğini düşünüyorum: /clients/{client_id}/reports/{report_id} Bir müşterinin tüm raporlarına gelince, enpoint bekleniyor: /clients/{client_id}/reports Ancak, API'nın tutarlı ve iyi tasarlanmış olmasını sağlamak için tüm İstemcilerin Tüm Raporlarını almak için nasıl bir …
12 rest  api  api-design 

3
JSON tuşlarında tire kullanmak kötü bir uygulama mıdır?
Tire (kebab-case) kullanan JSON anahtarlarına erişme etrafında dönen birçok soru görüyorum, ancak şimdi kendimi sadece anahtarlarımda camelCase veya snake_case'e yapışmam gerektiğini merak ediyorum. Tirelerin, diller arasında taşındığında karmaşık eşlemeler oluşturabileceğini de biliyorum. Bazı JSON serisini kaldırmak kütüphaneler bu anahtarları bir camelCase tarzı dönüştürmek gördüm. Misal: var something = { "some-value": …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.