Visualizzazione dei risultati da 1 a 10 su 13

Visualizzazione discussione

  1. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fermat Visualizza il messaggio
    per quanto riguarda il get, ho notato che se lo levo non mi funziona più.
    Non l'annotazione @GET (quella ovviamente serve) ma il "/get" che avevi messo nel path.

    REST si basa su convenzioni e su una filosofia ben precisa. Anche e soprattutto riguardo gli URL da usare. L'obiettivo principale è quello di far sì che gli URL rappresentino delle "risorse".

    Es.

    GET http://blabla.com/api/books (=lista tutti i libri)
    POST http://blabla.com/api/books (=inserisce nuovo libro)
    GET http://blabla.com/api/books/1234 (=dettaglio del libro Id 1234)
    PUT http://blabla.com/api/books/1234 (=aggiorna il libro Id 1234)
    DELETE http://blabla.com/api/books/1234 (=elimina il libro Id 1234)

    come vedi non c'è un "get" nel path. Il GET è la "azione" ed è il metodo HTTP.

    Quote Originariamente inviata da fermat Visualizza il messaggio
    ma se ad esempio volessi dare la possibilità di scaricare in excel i risultati di cui sopra, dovrei duplicare questo metodo?
    Innanzitutto bisogna vedere chi è il "client". Un browser? Una applicazione "desktop"?
    Comunque se a parità di url vuoi fornire rappresentazioni differenti (es. un excel o un pdf piuttosto che un JSON) una opzione è lavorare con i media type. Se è il client che fornisce Accept:application/json tu gli dai un JSON, se fornisce Accept:application/pdf gli dai un pdf, ecc... Ma qui ripeto, dipende anche da chi è il client, da cui deriva la possibilità di controllare gli header o no.

    In alternativa sfruttare delle estensioni per rappresentazioni particolari.

    http://blabla.com/api/books/1234 (JSON standard)
    http://blabla.com/api/books/1234.pdf (un pdf)

    Non è il massimo ma si fa anche ...
    Ultima modifica di andbin; 28-03-2017 a 09:39
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.