Passa al contenuto principale

Appendix C. Using Problem Details with Other Formats (Utilizzo dei dettagli del problema con altri formati)

In alcune situazioni, può essere vantaggioso incorporare i dettagli del problema in formati diversi da quelli qui definiti. Ad esempio, un'API che utilizza HTML [HTML5] potrebbe voler incorporare anche i dettagli del problema nelle sue risposte.

I progettisti di API che soddisfano questo caso d'uso sono incoraggiati a garantire la coerenza. Ad esempio, utilizzando i formati del problema, ciò può essere realizzato semplicemente trasformando il contenuto del documento JSON/XML del problema tramite XSLT [XSLT] e includendolo nel documento di risposta come microdati [HTML5] o RDFa [RDFA].

Ad esempio, un servizio che descrive i dettagli del problema in un documento HTML potrebbe rappresentare i dati utilizzando Microdata come segue:

<div itemscope itemtype="urn:ietf:rfc:9457">
<p>
Type: <span itemprop="type">https://example.com/probs/out-of-credit</span>
</p>
<p>
Title: <span itemprop="title">You do not have enough credit.</span>
</p>
<p>
Detail: <span itemprop="detail">Your current balance is 30, but that costs 50.</span>
</p>
<p>
Instance: <span itemprop="instance">/account/12345/msgs/abc</span>
</p>
<p>
Balance: <span itemprop="balance">30</span>
</p>
<p>
Accounts:
</p>
<ul>
<li itemprop="accounts">/account/12345</li>
<li itemprop="accounts">/account/67890</li>
</ul>
</div>

o utilizzando RDFa:

<div vocab="urn:ietf:rfc:9457" typeof="">
<p>
Type: <span property="type">https://example.com/probs/out-of-credit</span>
</p>
<p>
Title: <span property="title">You do not have enough credit.</span>
</p>
<p>
Detail: <span property="detail">Your current balance is 30, but that costs 50.</span>
</p>
<p>
Instance: <span property="instance">/account/12345/msgs/abc</span>
</p>
<p>
Balance: <span property="balance">30</span>
</p>
<p>
Accounts:
</p>
<ul>
<li property="accounts">/account/12345</li>
<li property="accounts">/account/67890</li>
</ul>
</div>

Si noti che questi esempi non sono destinati a essere normativi; sono forniti solo a scopo illustrativo.