su-its / ams-backend

:briefcase: (This repository is no longer maintained) The backend server of our Access-management-system.
MIT License
0 stars 0 forks source link

Jsonのレスポンス(openAPIも含む) #50

Closed ghost closed 3 years ago

ghost commented 3 years ago

@equal-l2 @h-takeyeah

{
  "user_id": 1,
  "entered_at": "2021-03-07T07:29:30.000Z"
}

"data": [
    {
      "user_id": 1,
      "entered_at": "2021-03-07T05:20:37.000Z",
      "exited_at": "2021-03-07T06:14:48.000Z"
    },
    {
      "user_id": 1,
      "entered_at": "2021-03-07T03:08:04.000Z",
      "exited_at": "2021-03-07T05:00:05.000Z"
    },

の表記ゆれが発生している。具体的には、access_logs以外 data: [] がない。

今回、コンポーネントでforeachしたい箇所が多いので、Object型ではなくArrayで欲しいため、dataという記述は統一したほうが良いと思う。

(フロントエンドのstoreのactionsに影響する)

たぶんそんなに時間かからないと思うので早めに直してもらえると嬉しいです。

equal-l2 commented 3 years ago

access_logs以外はメタ情報がないので、data プロパティを実装するインセンティブがありませんでした。 必要なら実装します。

ghost commented 3 years ago

@equal-l2 nuxt,jsのstore内で表記ゆれが起きます。

getAccessLogs ({ commit }) {
    return this.$axios.get('/access_logs').then((Response) => {
      commit('SET_ACCESS_LOGS', Response.data)
      commit('SET_ACCESS_LOG_METADATA', Response.total_page)
    })
  }

dataがないと、Responseだけを第二引数にしないといけないですし、もし、将来的に別なメタ情報を入れたくなったら、デグレーションを起こさずできると思います。

equal-l2 commented 3 years ago

@Stroheim001 この機会に聞いておきたいのでついでに伺います。 現状、access_logsの(今後metaに入る) next_pageprev_page は該当ページがない場合 プロパティ自体が存在しない (undefined) 状態で送っています。

フロントエンド的にはこのままでいいでしょうか、それとも該当ページがなくとも null などを入れて送ったほうが都合がいいですか?

equal-l2 commented 3 years ago

@h-takeyeah このissue、access_logsのmetaの件と一緒にやっつけちゃいます。 user_id指定で一個取ってくるやつはどうすればいいですか?

equal-l2 commented 3 years ago

あと、メタ情報がない場合、以下のどれにすればいいですか?

  1. meta: {}
  2. meta: null
  3. meta: undefined (この場合プロパティが存在しないことになる)
h-takeyeah commented 3 years ago

@equal-l2

user_id指定で一個取ってくるやつ

こんな感じでお願いします

修正前

{
  "user_id": 12345678,
  "entered_at": "2021-03-12T08:45:16.000Z"
}

修正後

{
  "data": [
    {
      "user_id": 12345678,
      "entered_at": "2021-03-12T08:45:16.000Z"
    }
  ]
}
equal-l2 commented 3 years ago

meta が存在しないときは undefined (プロパティ不在) でいいということですね。 了解しました。

ghost commented 3 years ago

@Stroheim001 この機会に聞いておきたいのでついでに伺います。 現状、access_logsの(今後metaに入る) next_pageprev_page は該当ページがない場合 プロパティ自体が存在しない (undefined) 状態で送っています。

フロントエンド的にはこのままでいいでしょうか、それとも該当ページがなくとも null などを入れて送ったほうが都合がいいですか?

null をお願いします。

h-takeyeah commented 3 years ago

@equal-l2

meta が存在しないときは undefined (プロパティ不在) でいいということですね。 了解しました。

あ,metaのことは決めかねます.

(ごめんなさい.metaのことは自分に向けられた質問ではないと思い込んでいました.)

equal-l2 commented 3 years ago

next_page & prev_pageの件承知しました。

@Stroheim001 以下の件どうでしょう?

あと、メタ情報がない場合、以下のどれにすればいいですか?

  1. meta: {}
  2. meta: null
  3. meta: undefined (この場合プロパティが存在しないことになる)
ghost commented 3 years ago

@equal-l2 meta情報がないものはそもそも書かないで大丈夫です。 というか、metaというものが存在するという事自体がAPIで定められているべきだと思うので、むしろ、今回の場合はmetaがある方が例外的かと思います。 (実務だとそんなことはないですけどね)

equal-l2 commented 3 years ago

meta の件承知しました。取り急ぎ実装します。