Cohe

20230621 TIL 본문

개발 이모저모/TIL

20230621 TIL

코헤0121 2023. 6. 21. 21:53
728x90

Fact

  • 웹프 응용 Router 연결~
  • 삼프제 원팁 모임

 

Feeling

사실 며칠간 가족들이 해줬던 말이 마음을 떠다녔다. 내가 잘못 살아온 것 마냥 모욕적인 말을 끊임없이 하는데 개월이 쌓이며 견딜 수 없기도 했다. 그래도 무던히 넘기려고 열심히 살수록 수령에 빠지는 기분에 자주 토로하던 언니에게 무척이나 미안했다.

 

Findings 

웹프 응용

  • frontend 서버 실행 : npm start
  • npm install @material-ui/core 해결법
    • npm install @material-ui/core --save --legacy-peer-deps
    • 이러면 갑자기 다운이 된다!!(왜 될까,,.,.)

295page 로그인 페이지 만들기까지 완료~

  • userDTO 만들러 감.. 머쓱
	implementation ("org.springframework.boot:spring-boot-starter-security")
	implementation ("org.springframework.boot:spring-boot-starter-web")
	implementation("io.jsonwebtoken:jjwt:0.9.1")
  • 걍 복붙 중인데 fetch가 안된다네….

401에러 해결!! → webSecurityconfig 추가~

token이 왜 null이 뜨지?

  • signup은 token null 맞음!!!
  • signin
  • chy@world.com { "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyYzk0YzE1Njg4ZGQ4N2U5MDE4OGRkODg0MzFlMDAwMCIsImlzcyI6ImRlbW8gYXBwIiwiaWF0IjoxNjg3MzQ0MDgwLCJleHAiOjE2ODc0MzA0ODB9.HUz7hYDZWDKAjdmKfPVKAb9toOJLxY9WFVU3R7xypqNUuSIrkxEZ4qu9kaD4ODIpdmLjsWVTFMKG-vptIZyKZA", "email": "chy@world.com", "username": null, "password": null, "id": "2c94c15688dd87e90188dd88431e0000" }

backend 완성


프엔 다시 시작

Unhandled Rejection (SyntaxError): Unexpected end of JSON input

  • 문제점 : Unhandled Rejection (SyntaxError): Unexpected end of JSON input
  • 일단 이거 재껴~~~
import { API_BASE_URL } from "../app-config";
const ACCESS_TOKEN = "ACCESS_TOKEN";

export function call(api, method, request) {
  let headers = new Headers({
    "Content-Type": "application/json",
  });

  // 로컬 스토리지에서 ACCESS TOKEN 가져오기
  const accessToken = localStorage.getItem("ACCESS_TOKEN");
  if (accessToken && accessToken !== null) {
    headers.append("Authorization", "Bearer " + accessToken);
  }

  **let options = {
    headers: headers,
    url: API_BASE_URL + api,
    method: method,
  };**
//여기에서 options를 json으로 제대로 못 건네주고 있다고 함.
  if (request) {
    options.body = JSON.stringify(request);
  }
  return fetch(options.url, options)
    .then((response) =>
      response.json().then((json) => {
        if (!response.ok) {
          // response.ok가 true이면 정상적인 리스폰스를 받은것, 아니면 에러 리스폰스를 받은것.
          return Promise.reject(json);
        }
        return json;
      })
    )
    .catch((error) => {
      // 추가된 부분
      console.log(error.status);
      if (error.status === 403) {
        window.location.href = "/login"; // redirect
      }
      return Promise.reject(error);
    });
}

export function signin(userDTO) {
  return call("/auth/signin", "POST", userDTO).then((response) => {
    if (response.token) {
      // 로컬 스토리지에 토큰 저장
      localStorage.setItem(ACCESS_TOKEN, response.token);
      // token이 존재하는 경우 Todo 화면으로 리디렉트
      window.location.href = "/";
    }
  });
}

export function signout() {
  localStorage.setItem(ACCESS_TOKEN, null);
  window.location.href = "/login";
}
  • nav bar 만들기~~→ 어케 된지는 몰랑 >.<
var navigationBar = (
      <AppBar position="static">
        <Toolbar>
          <Grid justify="space-between" container>
            <Grid item>
              <Typography variant="h6">Goods</Typography>
            </Grid>
            <Grid>
              <Button color="inherit" onClick={signout}>
                로그아웃
              </Button>
            </Grid>
          </Grid> 
        </Toolbar>
      </AppBar>
    );
  • 글리치 해결~!
	/* 로딩중일 때 렌더링 할 부분 */
    var loadingPage = <h1> 로딩중.. </h1>;

    var content = loadingPage;

    if (!this.state.loading) {
      content = goodsListPage;
    }

 

 

이것만 해결해줘~!

×

Unhandled Rejection (SyntaxError): Unexpected end of JSON input

(anonymous function)

C:/Users/hyeonyeong/Desktop/term prj/workspace/workspace/src/service/ApiService.js:26

This screen is visible only in development. It will not appear if the app crashes in production.Open your browser’s developer console to further inspect this error.

Affirmation

오늘 목표

  • [x] 웹프 응용

내일 목표

  • [ ] 웹프 응용 에러 고치기
  • [ ] 프문 자소서 내기

'개발 이모저모 > TIL' 카테고리의 다른 글

20240126 TIL  (0) 2024.01.26
14th oval Forum 창업의 에센스  (0) 2024.01.12
20230617 TIL  (0) 2023.06.17
20230614 TIL  (0) 2023.06.14
20230612 TIL  (0) 2023.06.12