问题1:java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 2 path $
@FormUrlEncoded
@POST("userLogin")
Observable<Object> userLogin(@Field
mPostLocation.userLogin(sfflag,telephone,
password,phoneid,phonemodel,versions)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Object>(cnt) {
@PartMap parameters can only be used with multipart encoding. (parameter #2)
java.lang.IllegalArgumentException: Only one encoding annotation is allowed.
@Field parameters can only be used with form encoding.
@PartMap 需要使用注解/*@Multipart*/
@Field需要使用到注解:@FormUrlEncoded
两个不能同时使用,否则会报 Only one encoding annotation is allowed.
使用@FieldMap Map<String,RequestBody> params,来代替@PartMap来存储多张图片,只使用@FormUrlEncoded,但是发现请求接口,老是提示request参数不正确。
问题二:
com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://whatever.com")
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
https://stackoverflow.com/questions/27485346/malformedjsonexception-with-retrofit-api
浙公网安备 33010602011771号