Quindi in realtà sto cercando di eseguire un PUT con un oggetto TypedByteArray come corpo. Sto interagire con un server Azure, quindi il primo passo è quello diAndroid: modifica del percorso dell'URL senza "/"
Effettuare una chiamata POST con il mio metadati dell'immagine e torno un URL (dire URL_PUT)
devo fare una PUT richiesta in tal URL_PUT (dal punto 1), quindi la mia funzione di interfaccia Singleton retrofit assomiglia:
public interface ImageInterface {
@PUT("/{nothing}")
Response uploadBlob(@Body TypedByteArray byteArray,
@Header("Content-Length") String byteArrayLength,
@Path(value="nothing",encode=false) String nothing);
}
ma ottengo un errore che dice che sentiero URL deve iniziare con un "/" quando passo "" per niente. Per la funzione di cui sopra ho provato a passare una stringa vuota, ma senza successo.
Quindi, in pratica, voglio solo utilizzare il retrofit con un endpoint ma nessun percorso/percorso di transizione per PUT. C'è un modo per fare questo ?
Non puoi semplicemente mettere @PUT ("/"). Inoltre stai inviando un array di byte con Content-Length e lo fai in modo sincrono. Spero che tu non stia caricando un file ... Questo non è il modo di farlo. Potrei aiutare di più se dovessi spiegare cosa stai cercando di inviare. – napkinsterror
Ah ah ... Non lo sto facendo sul thread principale .... è stato come tornare ... ma il meglio della mia memoria ... Ho provato quello che hai menzionato e non ha funzionato ... non riesco a ricordare quale sia la ragione, ma sono dannatamente sicuro che l'ho provato ... – uLYsseus