2014-12-03 48 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);