Acest pachet ofera un middleware care transforma automat raspunsurile JSON dintr-un API in raspunsuri HTML.

O va face examinand daca API-ul a fost accesat de un client HTTP care prefera HTML. Browserele fac acest lucru trimitand un antet Accept: text / html.

Daca acest middleware detecteaza acest lucru, va incepe si va genera automat un document HTML excelent.

Daca acest antet nu a fost furnizat, acest middleware nu face nimic.

Decoreaza automat urmatoarele formate:

  • aplicatie / json
  • aplicatie / problema + json
  • aplicatie / hal + json
  • text / markdown
  • text / csv
  • application / prs.hal-forms + json
  • application / vnd.siren + json

Captura de ecran

Un exemplu. Daca un API returneaza in mod normal urmatorul format HAL:

“0.5.0”, “nume”: “resursa de testare!” }

Browserul il va converti automat in acest format HTML:

Aceasta captura de ecran este un exemplu de browser care formateaza automat un .csv si analizeaza anteturile HTTP Link:

Urmatorul exemplu converteste acest lucru:

{“_links”: {“self”: {“href”: “/ testing / form”}, “up”: {“href”: “/ testing”, “title”: “Inapoi la testarea acasa”}, ” my-form “: {” href “:” / testing / form {? startDate} {? endDate} “,” title “:” Cautare dupa intervalul de date “,” template “: true}}}

Si transforma automat linkul sablonat intr-un formular:

Instalare

npm instalati @ curveball / browser

Notiuni de baza

importati {Aplicatie} din „curveball / @ core”; importati browserul din „@ curveball / browser”; const app = new Application (); app.use (browser ({});

Optiuni

Functia halBrowser preia un obiect optiuni, care poate lua urmatoarele setari:

Exemplu:

app.use (browser ({title: ‘API-ul meu’, foi de stil: [‘/my-stylesheet.css’,], // Acest lucru ar trebui sa se termine cu un / in general. assetBaseUrl: ‘http: //some-cdn.example .org / ‘, navigationLinks: {// Creati un nou buton „autor” „autor”: {// clasa css optionala, in mod implicit aceasta va fi „rel-author` cssClass:’ rel-blabla ‘, // Titlu optional la afisati cand treceti cu mouse-ul peste butonul implicit Titlu: „Faceti clic pe mine”, // Pictograma suprascrie. De asemenea, pictograma optionala: „pictograme / foobar.svg”, // Fie pozitia „antet” (implicit), fie „pager”: „antet” // Setati ordinea. Mai mic este mai devreme. Valoarea implicita este 0. prioritate: -100,}, // daca treceti „adevarat” se va utiliza setarea implicita pentru butonul „ajutor”: adevarat, // daca treceti „nul”, va fi eliminata pictograma, daca a fost o pictograma implicita „sus”: nul,}, defaultLinks:[// Fiecare pagina va avea un link „ajutor” {rel: „ajutor”, href: „https://example.org/help”, titlu: „Asistenta”,}],});

Caracteristici viitoare

  • Adaugati un link pentru a permite utilizatorului sa vada formatul brut.
  • Afisati metadatele, cum ar fi Ultima modificare