我使用android批註與服務器進行通信。在其中一個API調用中,我需要發送一些文本數據和一個圖像,例如,從圖庫中。Android註釋REST發送圖像
@Post("/items/addItem.php")
String addItem(Protocol protocol);
如何將MultipartForm與圖像一起附加發布請求?
我使用android批註與服務器進行通信。在其中一個API調用中,我需要發送一些文本數據和一個圖像,例如,從圖庫中。Android註釋REST發送圖像
@Post("/items/addItem.php")
String addItem(Protocol protocol);
如何將MultipartForm與圖像一起附加發布請求?
只需使用正確的彈簧轉換器:FormHttpMessageConverter。
但是,該轉換器僅接受MultiValueMap作爲方法參數。請看看這兩個問題:#652和#660。
如果你真的想使用任何對象作爲參數,你必須實現你自己的自定義FormHttpMessageConverter
這將通過使用反射來處理。
DayS是對的。一個AS報價,你必須包括FormHttpMessageConverter在轉換器陣列內的REST接口定義:
@Rest(rootUrl = "http://api.yourapp.com", converters = {
MappingJacksonHttpMessageConverter.class,
StringHttpMessageConverter.class, FormHttpMessageConverter.class })
public interface YourAppApiClient {
@Post("/items/addItem.php")
void getCustomerInformation(MultiValueMap formfields);
}
- 完全以同意以上的答案,但使用mappinjacksonhttpmessageconverter你要添加另一個庫所以如果天璣要使用它,你可以使用例如
@Rest(rootUrl = CommonUtils.BASE_URL, converters = {
ByteArrayHttpMessageConverter.class,
FormHttpMessageConverter.class, StringHttpMessageConverter.class
})
public interface CustomRest extends RestClientErrorHandling{
@Post(CommonUtils.pUrlLogin)
String _Login(MultiValueMap<String, Object> multiValueMap);
@Post(CommonUtils.pUrlSignUp)
String _SignUp(MultiValueMap<String, Object> multiValueMap);
}