Android 如何解决Okhttp中的日期格式异常?

Android 如何解决Okhttp中的日期格式异常?,android,Android,当我尝试在postman中使用一些参数来访问PostAPI时,我得到了200 当我试图通过改型使用一些参数点击PostAPI时,我得到了417 异常:无效的日期时间格式:7错误:日期类型的输入语法无效:“null” 您必须添加日期对象,而不是字符串。此外,在改装生成器设置中,使用日期模式添加GsonconverterFactory: Retrofit.Builder() .addConverterFactory(gsonConverterFactory) gsonCo

当我尝试在postman中使用一些参数来访问PostAPI时,我得到了200 当我试图通过改型使用一些参数点击PostAPI时,我得到了417

异常:
无效的日期时间格式:7错误:日期类型的输入语法无效:“null”


您必须添加
日期
对象,而不是
字符串
。此外,在改装生成器设置中,使用日期模式添加
Gson
converterFactory

Retrofit.Builder()
            .addConverterFactory(gsonConverterFactory)

 gsonConverterFactory = GsonConverterFactory.create(GsonBuilder()
                .setDateFormat(SERVER_DATE_PATTERN)
                .serializeNulls()
                .create())
然后像这样发布:

@POST("api.....")
Call<Response> validateRegistrationCredentials(@Body YourPostBodyModel body);

class YourPostBodyModel {
  Date bithday;
  ......
}
@POST(“api…”)
调用validateRegistrationCredentials(@Body YourPostBodyModel Body);
将您的PostBodyModel分类{
日期:比特日;
......
}
@POST(“您的api站点”)
fun sendData(@QueryMap hashMap:Map):调用
为这个做一张地图

Hashmap<String,String> hashMap = HashMap<String, String>()
    hashMap["sex_id"] = sexid
    etc
Hashmap Hashmap=Hashmap()
hashMap[“sex_id”]=sexid
等
这样写日期


数据输入(“出生日期”,日期)

等等,不要去任何地方,让我试试。你应该在Android studio LogCat中看到你的帖子。你的发帖正确吗?使用人体模型?还有@Post注解?是的,我看到了。它运转正常。如果我使用JSONObject.NULL,它不会出现在正文中,417表示缺少必需的propertydate_of_birth,所以如果错误来自服务器而不是服务器,您可能只是使用了错误的日期格式,但我如何修复?在postman中,我传递了null,我得到了正确的响应为什么要使用两个hasmap只需使用一个具有不同值和键的hasmap,并向我展示您的postman如何发送数据API中的日期格式是什么?@Amitpandey{“body”:{“sex\u id”:null,“appointment\u statudid”:null,“mpi”:“appointmentfromdate”:“2020/02/28”,“任命日期”:“2020/02/28”,“保险类型”:null}@Vishalbh但我不知道你能不能用java/但一些值或Integer和stringthan使用jsonobject并转换成int和string并传递它的意思?它是说预期的BEGIN_对象,但在第1行第1列pathHashMap YourHashMap=new HashMap();yourHash.put(“message”,“message”);yourHash.put(“timestamp”,timestamp);yourHash.put(“count”,count);yourHash.put(“version”,version);
 @POST("your api site")
fun sendData(@QueryMap hashMap: Map<String, String>): Call<ApiResponse<Any>>
Hashmap<String,String> hashMap = HashMap<String, String>()
    hashMap["sex_id"] = sexid
    etc
String dtStart = "2020/02/28";  
Date date;
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");  
try {  
    date = format.parse(dtStart);  
    System.out.println(date);  
} catch (ParseException e) {
    e.printStackTrace();  
}