E 'corretto usare PUT con contenuti multipart?

4

Usiamo Spring e vogliamo implementare un REST con una chiamata "override file", quindi pensiamo di usare il verbo PUT con un corpo multipart solo per scoprire che Spring non lo accetta.

La mia domanda è che non può essere fatto in primavera perché non è il modo REST per avere un corpo multipart con PUT?

Nota: so che ci sono modi per saltare questa restrizione in primavera o che posso usare il POST ma voglio attenermi allo stile REST, se possibile.

    
posta PhoneixS 25.05.2016 - 11:34
fonte

2 risposte

3

Se OTTIENI la stessa risorsa allo stesso URI, cosa ti aspetti di ottenere? Ti aspetti di ottenere lo stesso contenuto multipart che hai inviato, ovvero i dati e il file, o solo uno di essi?

Se è il secondo, allora non è un uso RESTful di PUT, dal momento che un URI non fa più riferimento a una risorsa. Sarebbe meglio prendere in considerazione l'utilizzo di POST, o dividere il contenuto multipart in due risorse separate.

    
risposta data 25.05.2016 - 11:58
fonte
1

Dipende tutto da cosa sta facendo GET in api, ma penso che sia riposante avere un PUT multipart. Il tipo di payload non cambia la semantica di ciò che un PUT è in REST.

Ad esempio, se avessi un Amazon S3 come REST api, sarebbe opportuno aggiornare il contenuto del file se è stato creato un PUT multipart in una risorsa.

    
risposta data 25.05.2016 - 17:35
fonte

Leggi altre domande sui tag