1
我正在使用Retrofit进行REST调用。一些在form-urlencoded字段中调用需要日期。使用搜索,我发现使用日期格式化程序模式为JSON正文的便捷方式。请拨GsonBuilder
致电.setDateFormat("dd/MM/yyy")
。我想知道是否有类似的方便的方式来设置格式化程序模式的参数在@Field
,@Path
和@Query
字段中进行修改。 谢谢。更新请求中字段的日期格式
我正在使用Retrofit进行REST调用。一些在form-urlencoded字段中调用需要日期。使用搜索,我发现使用日期格式化程序模式为JSON正文的便捷方式。请拨GsonBuilder
致电.setDateFormat("dd/MM/yyy")
。我想知道是否有类似的方便的方式来设置格式化程序模式的参数在@Field
,@Path
和@Query
字段中进行修改。 谢谢。更新请求中字段的日期格式
我不认为它现在以一些不错的方式支持这个。由作者之一检查这个答案(这具体处理日期问题):https://github.com/square/retrofit/issues/291
我已经从GitHub问题的答案在这里复制代码。
public class PathDate {
private static final ThreadLocal<DateFormat> DF = new ThreadLocal<DateFormat>() {
@Override public DateFormat initialValue() {
return new SimpleDateFormat("THE FORMAT YOU WANT HERE!!!!");
}
}
private final Date date;
public PathDate(Date date) {
this.date = date;
}
@Override public String toString() {
return DF.get().format(date);
}
}
现在你改造的代码如下所示
@GET("/programs/date/{date}")
void findByDate(@Path("date") PathDate date, Callback<List<Program>> cb);