[내배캠 실강] 서버리스 백엔드 2

C____JIN·2022년 5월 30일
0
post-custom-banner

서버리스 백엔드

수업 목표

  1. AWS Lambda를 이용하여 API를 만들 수 있습니다.
  2. 프론트엔드와 연동하여 구현할 수 있습니다.

DB에 저장된 값 출력하기

  if type == 'list':
  	  # bbs 테이블에서 title, content, regDate 속성에 해당하는 값 출력
      cursor.execute("select title, content, regDate from bbs")  
      result = cursor.fetchall()
      body = json.dumps({
          "message": "success",
          "data":result
      })

DB에 저장된 값 삭제하기

  elif type == 'delete':
  	  #idx 값 parameter로 전송하기
      idx = event['queryStringParameters']['idx']
      # bbs테이블에서 idx값이 일치하는 column 삭제하기
      cursor.execute("delete from bbs where idx="+idx)
      conn.commit()
      body = json.dumps({
          "message": "success",
      })

Cross Origin 처리

    'headers': {
        'Access-Control-Allow-Headers': 'Content-Type,x-requested-with',
        'Access-Control-Allow-Origin': '*',
        'Access-Control-Allow-Methods': 'GET'
    },

DB에 값 입력하기

  if type == 'write':
  	  # OPTIONS 처리
      if event['httpMethod'] == 'OPTIONS':
          body = json.dumps({
              "message": "success",
          })
      # 값 저장하기
      else:
          today = date.today()
          body = json.loads(event['body'])
          # bbs 테이블에 tilte, content, regDate 속성에 해당하는 값을 입력받아 저장(insert) 
          cursor.execute("insert into bbs(title, content, regDate) value('" + body['title'] + "', '" + body['content'] + "', '" + today.strftime("%Y%m%d") + "')")
          conn.commit()
          body = json.dumps({
              "message": "success",
          })

검색하기

      elif paramType == 'list':
          paramWord = event['queryStringParameters']['word']
		  # 전달받은 parameter가 없으면 DB전체 값 보여주기
          if not paramWord:
              cursor.execute("select idx, title, regDate from bbs")
              result = cursor.fetchall()
          # 전달받은 parameter가 있으면 검색한 값 보여주기
          else:
              # paramWord를 포함하는 bbs 테이블의 idx, title, regDate에 해당하는 Column을 선택
              cursor.execute("select idx, title, regDate from bbs where title like '%"+paramWord+"%'")
              result = cursor.fetchall()
            
          body = json.dumps({
                "result": "success",
                "data": result
          })

Reference

  • 👍장형철 튜터님👍
profile
개발 블로그🌐 개발일지💻
post-custom-banner

0개의 댓글