برگشت دادن ارور در status ۲۰۰ در الکسیر

با درود خدمت شما . می خواستم بدونم کاری که من انجام دادم اشتباه است یا خیر .

شما فکر کنید در چنین فانکشنی هستید

      get_cms_all_posts = case PostQuery.load_all_posts(string_to_array(group_acl), page_number, page_size) do
            [] ->
                  conn
                  |> put_status(403)
                  |> json(%{error_code: "403"})
            n ->
                  empty_check_pageniton(conn, n.entries)
                  conn
                  |> put_status(200)
                  |> json(%{posts: n})
         end
      get_cms_all_posts
   end

لطفا به خطی که

empty_check_pageniton(conn, n.entries)

نوشته شده است توجه کنید تا قبل از 200 ارسال بشه یک فانکشن دیگه چک می شه که مثلا چنین کدی داره

  defp empty_check_pageniton(conn, entries) do
    if entries === [] do
      conn
      |> put_status(404)
      |> json(%{error_code: "404", msg: "Category has't been found."})
    end
  end

چون ما در الکسیر فانکشن رو نمی شکونیم و بجاش ارور می دیم من سعی کردم چنین کاری بکنم کدم به خوبی کار می کند ولی می خواستم ببنیم از نظر منطقی چنین چیزی خوب هست یا نه ؟

1 پسندیده

error جایگزین early return نیست.
کلا مشکلی در این پترن نمیبینم اما چرا باید برای خالی بودن لیست error_code داشته باشی؟ منظورم این نیست که اشتباهه, فقط میخوام مورد استفاده رو بدونم.

Typo:
pagination

1 پسندیده

درود خدمت توماج عزیز . من این مورد رو مثال زدم . من اگر پیجینیشن خالی برگردونه همون خالی رو نشون می دم چون اصلا مشکلی ایجاد نمی کنه ولی چون کدش دم دست تر بود برای تست ویرایش کردم که اینجا قرار بدم

1 پسندیده

مثال سرکاری زدی دوباره؟ :rage:

jpg

3 پسندیده

این عکس هارو از کجا پیدا می کنید شما :sweat_smile::sweat_smile:

4 پسندیده

حسمو گوگل میکنم

3 پسندیده