NKUST-ITC / NKUST-AP-API

NKUST-AP-v3-完善計畫
MIT License
7 stars 5 forks source link

bus 預約status code 錯誤 #13

Closed takidog closed 5 years ago

takidog commented 5 years ago

在預定校車/取消預約 原有v2會轉回覆學校的回應資料

{
  "success": false,
  "code": 400,
  "message": "該班次已預約,不可重覆預約",
  "count": 0,
  "data": {
    "startTime": "/Date(1566896400000)/",
    "budId": 45414
  }
}

PUT /bus​/reservations DELETE /bus​/reservations 在v3中,不應該回覆204 也沒有其他status code是在表示預定的錯誤訊息 204並不能返回資料給使用者,必須更改

abc873693 commented 5 years ago

那需要回覆什麼 這邊你沒解釋清楚

takidog commented 5 years ago

那需要回覆什麼 這邊你沒解釋清楚

這邊開錯誤那時候還沒確定要更改哪一種方式表達 應該要更改為200 並且轉回覆學校回傳的內容

abc873693 commented 5 years ago

那就是文件得再補上相關資料 而且如果我沒搞錯這格式應該是來自學校的API所回傳的資料? 理論上應該要在整理過

takidog commented 5 years ago

那就是文件得再補上相關資料 而且如果我沒搞錯這格式應該是來自學校的API所回傳的資料? 理論上應該要在整理過

就是學校回傳的資料,只是轉送資料

我們在沒有學校文件下串對方的API 只能測出大概會有多少種回傳,也不知道對方的code代表什麼 前端應該直接吃學校的回傳message來顯示錯誤,跟隨身通一樣

如果我們去處理這段學校的回傳,不能確定什麼時候會有變動 我傾向不處理這段,直接轉回覆學校那邊的回傳

abc873693 commented 5 years ago

照你這樣說 , 變相前端會不知道回傳什麼回來, 前端格式改動成本比後端高, 如果為了這個前端或APP還需要重新上架, 這部分的判斷不是後端應該要做的? 如果不處理,那乾脆直接讓大家直接串學校的API,

takidog commented 5 years ago

v2是這樣做的,大致上我也能理解

那我需要知道,前端需要什麼資料 是不是只需要message success

abc873693 commented 5 years ago

可能得條列可能會發生的問題

定義跟其他api 一樣格式的 文件 先把文件定義好 沒有就是我來定義

takidog commented 5 years ago

粗略,可以再開修改文件

200

{
"success":true,
"message":""
}

200

{
"success":false,
"description":"不可預約已滿"
}

不可預約已滿 不可預約已過預約時間 不可預期的錯誤 (沒繳罰款那種)

訊息可再更改,都傳200 204不能攜帶回傳值

abc873693 commented 5 years ago

我可能偏向 需要 description 都用 status code 代表 再讓前端做判斷 status code 如果http status code 非200 沒辦法回傳內容 就統一http status code 等於200回傳

takidog commented 5 years ago

我可能偏向 需要 description 都用 status code 代表 再讓前端做判斷 status code 如果http status code 非200 沒辦法回傳內容 就統一http status code 等於200回傳

204不能帶回傳

如果200是成功,那403我認為應該是他的相反 但在這403已經被拿來當錯誤校區使用 可以找一個非RFC規範之外的code 410大部分也不太會使用

falcon中有提供700系列的回傳

可能需要討論一下

takidog commented 5 years ago

以http stat code 403回覆錯誤

內容有以下種類

{
    "code":451,
    "description":"超過預約時間"
}
{
    "code":452,
    "description":"罰款尚未繳清"
}
{
    "code":453,
    "description":"無法預約,未知錯誤"
}
abc873693 commented 5 years ago

code改成errorCode 會不會比較清楚

takidog commented 5 years ago

29