AI교육과정 - Spring.9

단비·2022년 12월 20일
0

AI교육과정

목록 보기
49/69
  • script fetch
    • method: REST방식

    • headers: 어떤 방식으로 보낼지

    • body:
      - stringify(object): JSON
      - 객체를 문자열로 변환(직렬화, Serializing)
      - parse(JSON): object
      - 문자열 데이터를 자바스크립트 객체로 변환(역직렬화, Deserializing)

      fetch('http://localhost:8888/api/admin/login/', {
          method: 'POST',
          headers: {'Content-Type':'application/json'},
          body: JSON.stringify({
                  "transaction_time":`${new Date()}`,
                  "resultCode":"ok",
                  "description":"정상",        
      						"data":{
                  "userid":`${userid.value}`,
                  "userpw":`${userpw.value}`
              }
          }),
      }).then(성공 시 실행).catch(에러나면 실행);
  • Spring REST
    • map: optional 객체에 저장된 값을 map() 내의 함수를 통해 반환하고, 변환값을 담은 optional 객체에 반환

    • orElseGet() = 비어있을 때만 실행
      - optional 객체가 비어있지 않다면, 그대로 반환(아무 연산 수행X)
      - optional 객체가 비어있다면, 기본값으로 제공할 공급자 함수를 지정(람다 표현식의 결과값 반환)
      - 람다표현식: 메소드를 하나의 식으로 표현

              (x, y) -> x < y ? x : y;
              

      ex) userid와 userpw가 동일한 객체를 찾아 response메소드에 전송, 에러가 발생하지 않았을 경우 Header.OK메소드에 반환, Optional 객체가 비어있을 경우 Header.ERROR을 실행

      return adminUserRepository.findByUseridAndUserpw(userid, userpw)
      	.map(users -> response(users)).map(Header::OK)
      	.orElseGet(()-> Header.ERROR("아이디 또는 비밀번호가 틀렸습니다.")); }
  • getSession()
    • HttpSession이 존재하면 현재 HttpSession을 반환하고, 존재하지 않으면 새로 세션을 생성
  • getSession(false)
    • HttpSession이 존재하면 현재 HttpSession을 반환하고, 존재하지 않으면 null을 반환
  • "redirect:/";
    • 가장 기본페이지로 이동
  • tymeleaf
    • th:fragment="profile(id,name)” : profile의 id, name값을 같이 받을 수 있음
    • th:replace="fragment/profile :: profile(${id}, ${name})” : profile이라는 fragment를 실행, id,name값을 전달
    • : text값을 실행

  • Admin_user에 데이터 등록하기
    1. http://localhost:8888/register 호출
    2. 아이디, 비밀번호, 이름 입력 후 버튼 클릭
    3. register.js에서 fetch를 통해 AdminApiControler(생성)에 있는 create 메소드를 실행
    4. 정상적으로 등록되었다면 http://localhost:8888/login 으로 이동, 실패 시 새로고침
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글