2015-10-16 23 views
10

Sto provando a colpire l'endpoint del mio server con una richiesta multipart/form-data inviata da Postman. Sto diventando un 400 Richiesta e la causa è:Errore postman multipart/form-data: Missing start boundary

org.jvnet.mimepull.MIMEParsingException: Missing start boundary. 

Come posso impostare il limite di inizio e come faccio a sapere quello che dovrebbe essere?

enter image description here

+0

Non conosco Postino quindi non posso rispondere alla domanda, ma i confini delimitano ogni parte di un messaggio multipart/*. Viene prima definito nella parte principale del messaggio, quindi utilizzato tra ogni parte. Si prevede che Postman debba gestire questo tipo di dettagli tecnici, quindi assicurati di usarlo correttamente. – Aaron

+0

molto strano, se rimuovo il Content-Type multipart/form-data dalla mia intestazione riesco a colpire il mio endpoint ... –

risposta

17

https://github.com/postmanlabs/postman-app-support/issues/191 Seguendo quel filo qui sembra che l'impostazione l'intestazione della richiesta di Content-Type multipart/form-data sto ignorando il valore impostato dal postino.

There is no need to add a content-type header manually. You are overriding the value set by Postman. Just select form-data in POST request and send your request to see if it works.

Rimuovere l'intestazione mi ha permesso di colpire il mio endpoint.

+0

La rimozione dell'intestazione fa sì che l'intestazione sia impostata su 'multipart/octetstream' che sta causando 'Applicazione" tipo di contenuto "/ octet-stream" non supportato "' – shyam

1

L'override dei valori di intestazione POSTMAN è il problema menzionato da Anton sopra. Ecco come intestazioni e richiesta corpo dovrebbe essere simile per standalone cliente POSTINO:

Request Headers Request Body

0

Per ovviare provare questo:

primavera: jersey: applicazione-path:/riposo # Percorso che funge da URI di base per l'applicazione. Sostituisce il valore di "@ApplicationPath" se specificato. filter.order: 0 # Ordine della catena del filtro della maglia. tipo: servlet # Può essere "servlet" o "filter". init. *:

Il servlet di tipo ha funzionato correttamente, mentre come filtro viene generato l'errore di confine iniziale.