2014-12-03 50 views
1

我正在使用Retrofit进行REST调用。一些在form-urlencoded字段中调用需要日期。使用搜索,我发现使用日期格式化程序模式为JSON正文的便捷方式。请拨GsonBuilder致电.setDateFormat("dd/MM/yyy")。我想知道是否有类似的方便的方式来设置格式化程序模式的参数在@Field,@Path@Query字段中进行修改。 谢谢。更新请求中字段的日期格式

回答

2

我不认为它现在以一些不错的方式支持这个。由作者之一检查这个答案(这具体处理日期问题):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);