Bagikan melalui


Templat produk di Azure API Management

Azure API Management menyediakan kemampuan untuk mengustomisasi konten halaman portal pengembang menggunakan sekumpulan templat yang dapat mengonfigurasi kontennya. Menggunakan sintaks DotLiquid dan editor pilihan Anda, seperti DotLiquid for Designers, dan serangkaian sumber daya String yang di lokalkan, sumber daya Glyph, dan kontrol Halaman, Anda memiliki fleksibilitas besar untuk mengonfigurasi konten halaman sesuai keinginan Anda menggunakan templat ini.

Templat di bagian ini memungkinkan Anda untuk mengustomisasi konten halaman produk yang ada di portal pengembang.

Catatan

Sampel templat default disertakan dalam dokumentasi berikut, tetapi dapat berubah karena peningkatan berkelanjutan. Anda dapat melihat templat default langsung di portal pengembang dengan menavigasi ke templat individual yang diinginkan. Untuk informasi selengkapnya tentang bekerja dengan templat, lihat Cara mengustomisasi portal pengembang API Management menggunakan templat.

Catatan

Konten dokumentasi berikut berisi tentang portal pengembang yang tidak digunakan lagi. Anda dapat terus menggunakannya seperti biasa, hingga waktu pensiunnya pada bulan Oktober 2023, saat portal tersebut akan dihapus dari semua layanan API Management. Portal yang tidak digunakan lagi hanya akan menerima pembaruan keamanan yang penting. Lihat artikel berikut ini untuk detail selengkapnya:

Ketersediaan

Penting

Fitur ini tersedia di tingkat Premium, Standar, Dasar, dan Pengembang API Management.

Untuk ketersediaan fitur di tingkat v2 (pratinjau), lihat gambaran umum tingkat v2.

Daftar produk

Templat Daftar produk memungkinkan Anda mengustomisasi isi halaman daftar produk di portal pengembang.

Daftar produk

Templat default

<search-control></search-control>  
<div class="row">  
    <div class="col-md-9">  
        <h2>{% localized "ProductsStrings|PageTitleProducts" %}</h2>  
    </div>  
</div>  
<div class="row">  
    <div class="col-md-12">  
	{% if products.size > 0 %}  
	<ul class="list-unstyled">  
	{% for product in products %}  
		<li>  
			<h3><a href="/products/{{product.id}}">{{product.title}}</a></h3>  
			{{product.description}}  
		</li>	  
	{% endfor %}  
	</ul>  
	<paging-control></paging-control>  
	{% else %}  
	{% localized "CommonResources|NoItemsToDisplay" %}  
	{% endif %}  
	</div>  
</div>  

Kontrol

Templat Product list dapat menggunakan kontrol halaman berikut.

Model data

Properti Jenis Deskripsi
Penomoran Entitas penomoran. Informasi penomoran untuk pengumpulan produk.
Pemfilteran Entitas Pemfilteran. Informasi pemfilteran untuk halaman daftar produk.
Produk Pengumpulan entitas Produk. Produk yang terlihat oleh pengguna saat ini.

Data templat sampel

{  
    "Paging": {  
        "Page": 1,  
        "PageSize": 10,  
        "TotalItemCount": 2,  
        "ShowAll": false,  
        "PageCount": 1  
    },  
    "Filtering": {  
        "Pattern": null,  
        "Placeholder": "Search products"  
    },  
    "Products": [  
        {  
            "Id": "56f9445ffaf7560049060001",  
            "Title": "Starter",  
            "Description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",  
            "Terms": "",  
            "ProductState": 1,  
            "AllowMultipleSubscriptions": false,  
            "MultipleSubscriptionsCount": 1  
        },  
        {  
            "Id": "56f9445ffaf7560049060002",  
            "Title": "Unlimited",  
            "Description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",  
            "Terms": null,  
            "ProductState": 1,  
            "AllowMultipleSubscriptions": false,  
            "MultipleSubscriptionsCount": 1  
        }  
    ]  
}  

Produk

Templat Produk memungkinkan Anda mengustomisasi isi halaman produk di portal pengembang.

Halaman produk portal pengembang

Templat default

<h2>{{Product.Title}}</h2>  
<p>{{Product.Description}}</p>  
  
{% assign replaceString0 = '{0}' %}  
  
{% if Limits and Limits.size > 0 %}  
<h3>{% localized "ProductDetailsStrings|WebProductsUsageLimitsHeader"%}</h3>  
<ul>  
  {% for limit in Limits %}  
  <li>{{limit.DisplayName}}</li>  
  {% endfor %}  
</ul>  
{% endif %}  
  
{% if apis.size > 0 %}  
<p>  
  <b>  
    {% if apis.size == 1 %}  
    {% capture apisCountText %}{% localized "ProductDetailsStrings|TextblockSingleApisCount" %}{% endcapture %}  
    {% else %}  
    {% capture apisCountText %}{% localized "ProductDetailsStrings|TextblockMultipleApisCount" %}{% endcapture %}  
    {% endif %}  
  
    {% capture apisCount %}{{apis.size}}{% endcapture %}  
    {{ apisCountText | replace : replaceString0, apisCount }}  
  </b>  
</p>  
  
<ul>  
  {% for api in Apis %}  
  <li>  
    <a href="/docs/services/{{api.Id}}">{{api.Name}}</a>  
  </li>  
  {% endfor %}  
</ul>  
{% endif %}  
  
{% if subscriptions.size > 0 %}  
<p>  
  <b>  
    {% if subscriptions.size == 1 %}  
    {% capture subscriptionsCountText %}{% localized "ProductDetailsStrings|TextblockSingleSubscriptionsCount" %}{% endcapture %}  
    {% else %}  
    {% capture subscriptionsCountText %}{% localized "ProductDetailsStrings|TextblockMultipleSubscriptionsCount" %}{% endcapture %}  
    {% endif %}  
  
    {% capture subscriptionsCount %}{{subscriptions.size}}{% endcapture %}  
    {{ subscriptionsCountText | replace : replaceString0, subscriptionsCount }}  
  </b>  
</p>  
  
<ul>  
  {% for subscription in subscriptions %}  
  <li>  
    <a href="/developer#{{subscription.Id}}">{{subscription.DisplayName}}</a>  
  </li>  
  {% endfor %}  
</ul>  
{% endif %}  
{% if CannotAddBecauseSubscriptionNumberLimitReached %}  
<b>{% localized "ProductDetailsStrings|TextblockSubscriptionLimitReached" %}</b>  
{% elsif CannotAddBecauseMultipleSubscriptionsNotAllowed == false %}  
<subscribe-button></subscribe-button>  
{% endif %}  

Kontrol

Templat Product list dapat menggunakan kontrol halaman berikut.

Model data

Properti Jenis Deskripsi
Produk Produk Produk yang ditentukan.
IsDeveloperSubscribed boolean Apakah pengguna saat ini berlangganan produk ini.
SubscriptionState nomor Status langganan. Kemungkinan status adalah:

- 0 - suspended – langganan diblokir, dan pelanggan tidak dapat memanggil API produk apa pun.
- 1 - active – langganan aktif.
- 2 - expired – langganan mencapai tanggal kedaluwarsa dan dinonaktifkan.
- 3 - submitted – permintaan berlangganan telah dibuat oleh pengembang, tetapi belum disetujui atau ditolak.
- 4 - rejected – permintaan langganan telah ditolak oleh administrator.
- 5 - cancelled – langganan telah dibatalkan oleh pengembang atau administrator.
Batas array Properti ini sudah tidak digunakan lagi dan tidak boleh digunakan.
DelegatedSubscriptionEnabled boolean Apakah delegasi diaktifkan untuk langganan ini.
DelegatedSubscriptionUrl string Jika delegasi diaktifkan, URL langganan yang didelegasikan.
IsAgreed boolean Jika produk memiliki persyaratan, apakah pengguna saat ini telah menyetujui persyaratan tersebut.
Langganan Kumpulan entitas Ringkasan langganan. Langganan produk.
Api Kumpulan entitas API. API dalam produk ini.
CannotAddBecauseSubscriptionNumberLimitReached boolean Apakah pengguna saat ini memenuhi syarat untuk berlangganan produk ini sehubungan dengan batas langganan.
CannotAddBecauseMultipleSubscriptionsNotAllowed boolean Apakah pengguna saat ini memenuhi syarat untuk berlangganan produk ini sehubungan dengan beberapa langganan yang diizinkan atau tidak.

Data templat sampel

{  
    "Product": {  
        "Id": "56f9445ffaf7560049060001",  
        "Title": "Starter",  
        "Description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",  
        "Terms": "",  
        "ProductState": 1,  
        "AllowMultipleSubscriptions": false,  
        "MultipleSubscriptionsCount": 1  
    },  
    "IsDeveloperSubscribed": true,  
    "SubscriptionState": 1,  
    "Limits": [],  
    "DelegatedSubscriptionEnabled": false,  
    "DelegatedSubscriptionUrl": null,  
    "IsAgreed": false,  
    "Subscriptions": [  
        {  
            "Id": "56f9445ffaf7560049070001",  
            "DisplayName": "Starter  (default)"  
        }  
    ],  
    "Apis": [  
        {  
            "id": "56f9445ffaf7560049040001",  
            "name": "Echo API",  
            "description": null,  
            "serviceUrl": "http://echoapi.cloudapp.net/api",  
            "path": "echo",  
            "protocols": [  
                2  
            ],  
            "authenticationSettings": null,  
            "subscriptionKeyParameterNames": null  
        }  
    ],  
    "CannotAddBecauseSubscriptionNumberLimitReached": false,  
    "CannotAddBecauseMultipleSubscriptionsNotAllowed": true  
}  

Langkah berikutnya

Untuk informasi selengkapnya tentang bekerja dengan templat, lihat Cara mengustomisasi portal pengembang API Management menggunakan templat.