[Rails] 로그인 결과를 JSON으로 반환합니다(초보자용).

6011 단어 RubyRailsPostman

입문


API 통신은 처음에 무엇을 하는지 잘 알지 못했다.
이번에는 같은 고민을 하는 사람들에게 약간의 인상을 주기 위해
UI를 만들지 않고 JSON으로 실행 후의 응답 결과를 되돌려줍니다.
장르는 Rails 초보자들이 아마 처음 배운 사인, 로그인이다.

코드


※ 사용자 테이블은 이메일, 패스워드
※ 액세스 URL은 입니다http://localhost:3000/api/v1/***localhost: 3000도 ok
routes.rb
Rails.application.routes.draw do
  # namespaceで /api/v1/の階層をつくる
  namespace :api, format: :json do
    namespace :v1 do
      post :sign_up,  to: 'users#sign_up'
      post :login,   to: 'users#login'
    end
  end
end
users_controller.rb
class Api::V1::UsersController < ApplicationController ## クラス名を階層に合わせる
  def sign_up
    user = User.new(user_params)
    if user.save
      render status: "200", json: { result: user }  # 保存成功時にユーザー情報をjson形式で返す
    else
      render status: "400", json: { result: "メールアドレスまたはパスワードが有効ではありません" }
    end
  end

  def login
    user = User.find_by(email: params[:email])
    if user && user.authenticate(params[:password])
      render status: "200", json: { result: user }  # ログイン成功時にユーザー情報をjson形式で返す
    else
      render status: "400", json: { result: "メールアドレスまたはパスワードが一致しません" }
    end
  end

  private

    def user_params
      params.permit(:email, :password)
    end
end

포스트맨으로 해봐.


안 써본 사람을 위해서.


설치(https://www.postman.com/) 이후 그림에 따라 조작하십시오.
설정 완료 후 "Send"단추를 누르면 실행!


서명 성공 예



로그인 성공 사례



로그인 실패 예



응답 내용을 모두 표시하지 않으려면


as_json을 사용하면 제한하기 쉽다.
사이트 주소 참조https://qiita.com/tbaba/items/ea44025b056f708ab0b4

끝내다


알면 의외로 간단해.하지만 초보자는 이게 시간이 걸린다는 걸 알아요...
누군가를 도울 수 있다면 다행이다.

좋은 웹페이지 즐겨찾기