API:Veri biçimleri

From mediawiki.org
This page is a translated version of the page API:Data formats and the translation is 100% complete.

Giriş

API, girişini HTTP isteği tarafından sağlanan application/x-www-form-urlencoded veya multipart/form-data biçimindeki parametreler aracılığıyla alır. (unlike REST API, the Action API currently does not support application/json input format.) Her modülün ve alt modülün, belgelerde ve action=help içinde listelenen kendi parametre seti vardır. Ayrıca action=paraminfo aracılığıyla da alınabilirler.

Kodlama

Tüm girişler UTF-8, NFC biçiminde geçerli olmalıdır. MediaWiki, bir hatayla sonuçlanabilecek diğer biçimleri dönüştürmeye çalışır.

Çoklu değerli parametreler

Birden çok değer alan parametreler normalde dikey çizgi karakteri (|) kullanılarak ayrılmış değerlerle gönderilir, ör. param=value1|value2. Bir değer kendi içinde boru karakterini içeriyorsa, ayırıcı olarak U+001F (Birim Ayırıcı) kullanın ve değerin önüne U+001F ekleyin, ör. param=%1Fvalue1%1Fvalue2.

Bir parametrenin birden fazla değeri kabul edip etmemesi modül belgelerinde açıkça listelenir.

Boole parametreleri

Bir HTTP isteğinde bir boolean parametresi belirtilirse, değerinden bağımsız olarak doğru kabul edilir. Yanlış bir değer için parametreyi tamamen atlayın. Bir HTTP isteğinde gerçek bir parametre belirtmenin en iyi yolu someParam=; sondaki =, tarayıcının veya HTTP kütüphanesinin "boş" someParam atmamasını sağlar.

Zaman damgaları

Zaman damgası değerleri alan parametreler birden çok zaman damgası biçimini kabul eder:

Zaman damgaları her zaman ISO 8601 biçiminde çıkarılır.

Çıkış

MediaWiki'deki standart ve varsayılan çıktı biçimi JSON'dur. Diğer tüm biçimler önerilmez.

Çıkış biçimi her zaman format=yourformat kullanılarak belirtilmelidir ve yourformat aşağıdakilerden biri olur:

  • json: JSON biçimi. (önerilen)
  • php: serileştirilmiş PHP biçimi. (kaldırıldı)
  • xml: XML biçimi (kaldırıldı)
  • txt: PHP print_r() biçimi. (1.27 sürümünde kaldırıldı)
  • dbg: PHP var_export() biçimi. (1.27 sürümünde kaldırıldı)
  • yaml: YAML biçimi. (1.27 sürümünde kaldırıldı)
  • wddx: WDDX biçimi. (1.26 sürümünde kaldırıldı)
  • dump: PHP var_dump() biçimi. (1.26 sürümünde kaldırıldı)
  • none: Boş bir yanıt döndürür. 1.21+

Örnek

Çıkışı JSON'dan alın.


Yanıt

{
  "query": {
    "pages": {
      "217225": {
        "pageid": 217225,
        "ns": 0,
        "title": "Main page"
      }
    }
  }
}

Aksi belirtilmedikçe, tüm modüller tüm genel biçimlerde veri çıkışına izin verir. Hata ayıklamayı basitleştirmek için, tüm genel biçimler fm sonekiyle "pretty-print in HTML" alternatiflerine sahiptir, ör. jsonfm.

JSON parametreleri

Aşağıdaki parametreler format=json ve format=jsonfm ile kullanılabilir:

  • utf8: ASCII olmayan çoğu karakteri onaltılık kaçış dizileriyle değiştirmek yerine UTF-8 olarak kodlar. Tür: boolean.
  • ascii: Onaltılık kaçış dizileri kullanarak tüm ASCII olmayan karakterleri kodlar. Tür: boolean.
  • formatversion: Çıkış biçimlendirmesi. 1.25+
    • 1: Geriye dönük biçimi, içerik düğümleri için * tuşlarını kullanır, onaltılık kaçış dizileri kullanarak ASCII olmayan karakterleri kodlar.
    • 2: Modern biçimi. Yanıtları daha temiz biçimi olarak döndürür, ASCII olmayan çoğu karakteri UTF-8 olarak kodlar. (önerilen)
  • callback: Sonucun kaydırılacağı işlev. Güvenlik için, kullanıcıya özgü tüm veriler kısıtlanacaktır. Güvenlik nedeniyle bir dizi şey devre dışı bırakıldı:
    • Anahtar alınamıyor, bu nedenle durum değiştiren eylemler mümkün değil.
    • İstemci, action=login içindeki giriş yaptıktan sonra bile tüm amaçlar için anonim bir kullanıcı olarak (yani giriş yapmamış) olarak değerlendirilir. Bu, anonim kullanıcıların bunları kullanmasına izin verilmedikçe ek hak gerektiren modüllerin çalışmayacağı anlamına gelir.

Ek notlar

  • XML ve PHP çıktı biçimleri kullanımdan kaldırılmıştır, ancak kullanımdadır. PHP ile yazılmış istemciler temelde güvensiz olduğu için PHP biçimini kullanmaktan kaçınmalıdır. Şimdilik sadece popülaritesi nedeniyle korunuyor.
  • JSON yanıtlarını diğer biçimlere dönüştürmek için birçok dönüştürme kitaplığı ve çevrimiçi dönüştürücüler vardır. Örneğin, JSON-CSV Virgülle Ayrılmış Değerler.
  • Son Değişiklikler Beslemesi gibi besleme modülleri, feedformat parametresinde belirtildiği gibi RSS veya Atom yerine standart çıkış biçimini geçersiz kılar. Bu durumlarda, format parametresinde belirtilen biçim yalnızca bir hata olması durumunda kullanılır.

Ayrıca bakınız