2016-03-16 34 views
0

我想從Android應用程序在發送JSON對象日期(和其他信息),以REST風格的WS發送的JSON對象日期REST風格的WS

這就是我在我的Android應用程序一樣。

 String date = mFormat.format(Double.valueOf(mYear)) + "-" + mFormat.format(Double.valueOf(mMonth+1)) + "-" + mFormat.format(Double.valueOf(mDay) 
       ); 
// so i will have somthing like date = "2016-03-30" 

     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.FRANCE); 
     Date dateFin; 
     dateFin= df.parse(date); 
     jsonObject.put("datefin", dateFin); 
在Web服務

我使用休眠與MySQL的ORM和它鰭插入對象到數據庫,但日期字段總是NULL

從Web服務

@POST 
@Path("/add") 
public Response addOffer(Offers offer) throws IOException { 
    offerService.addOffer(offer); 
    return Response.status(Status.CREATED).entity(offer).build(); 

} 

瞬間工作這裏是addOffer方法。

public void addOffer(Offers offer) { 

    // Offers f = new Offers("name","desc","category","market ",longitude,latitude,date); 
    Session session = createSessionFactory().openSession(); 
    Transaction tx = null; 
    try { 

     tx = session.beginTransaction(); 
     session.save(offer); 
     tx.commit(); 

    } catch (HibernateException e) { 
     if (tx != null) 
      tx.rollback(); 
     e.printStackTrace(); 
    } finally { 
     session.close(); 
    } 

} 

所以任何想法爲什麼會發生這種情況,以及如何解決它?

+0

你確定你在後端得到的代碼?並且當你在你的web服務中解析你的JSON時,日期不是null?你能粘貼web服務代碼,看看你是如何在休眠中保存日期? –

+0

我不解析後端的日期,因爲我認爲它是由Web服務完成的。我將從Web服務中獲取一個快照。 – Emad

+0

是啊,你將不得不把一些日誌記錄,看看是否Web服務實際上獲取日期值。 –

回答

1

最後我發現,如果日期不在這種格式

yyyy-MM-dd'T'HH:mm:ssZ 

REST風格的WS拒絕使用它作爲一個日期,所以我我的代碼更改爲

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.FRANCE); 
當然我的

沒有時間,所以它會00:00:00