현 프로젝트 시작단계
9. 스프링 테스트 / 진행사항
깡 딱
2025. 3. 15. 23:53
728x90
느낀점
일단 기본적인 로직은 끝난 상태다.
지도원툴 기능 한정해서는 거의다 만든 상태다. 근데 아직
100퍼센트가 될려면 한참 남았고 한달은 더필요하다. 조금더 리메이크 하자는 마인드로 만들고있다.
처음으로 어플이 거의 완성되는 모습을 모니 뿌뜻하다~
앱 진행사항
남은건 통계 내기
매장을 클릭했을때 사용자 정보를 받아와서 이제 조회수와, 스타일정보 넣기 매우 어려울거같지만
거의다 한거에 대해서 한시름 돌린다.
스프링쓰는이유
이제 문제는 이 화면이다.
일단 겁나 문제 사진이 뜨는데 1.9초 걸린다.
대체 이게... 그래서 그냥 이왕 오래걸릴거 서버에서 보내는거도 비슷하게 1.5초에서 2초정도 오래걸리는데
커뮤니티도 만들건데 스프링에서 불러오게 만들예정이다.
(이건 스프링으로 하는 이유 - supabase에서만 다루기에는 너무 많은 정보들이 담겨야되고 사진도 많이 왔다갔다 해서
mysql써서 디비에 저장할 예정 )
커뮤니티기능이 로그인을 안해도 쓸 수있는 기능이라
익명제라서 스프링에서 불러와도 큰 상관없을거같다.
먼저 테스트 flutter ( 프론트 ) + spring (백엔드)
방식 스프링단에서 json형식으로 데이터를 보내서
플러터에 받는 방식
일단 mvc 패턴 써야되는데 테스트니까 걍 막만들었다고 봐도됩니다..
백엔드 코드를 간단하게 설명하자면
이런느낌
각 역활 상세 설명
CorsConfig (CORS 설정)
- 하는 일:
- CORS(Cross-Origin Resource Sharing) 정책을 설정하는 클래스.
- 기본적으로 브라우저는 보안상의 이유로 다른 도메인의 API 요청을 차단하는데, 이를 허용해주는 역할을 함.
- 특정 도메인에서 백엔드 서버의 API를 호출할 수 있도록 허용하는 설정을 포함.
- 왜 필요한가?
- Flutter (웹) 또는 프론트엔드 애플리케이션이 API 서버(Spring Boot)에 요청을 보낼 때 CORS 정책에 의해 차단될 수 있음.
- 이 문제를 해결하기 위해 CORS 설정을 추가해야 함.
DemoApplication (Spring Boot 메인 애플리케이션)
- 하는 일:
- Spring Boot 애플리케이션을 실행하는 진입점.
- @SpringBootApplication 어노테이션이 포함되어 있어 애플리케이션을 설정 및 실행.
- 주요 역할:
- 내장 Tomcat 서버를 실행하여 애플리케이션을 웹 서버 형태로 동작하게 만듦.
- 다른 설정 및 컴포넌트를 자동으로 로드함.
HelloController (REST API 컨트롤러)
- 하는 일:
- 특정 URL로 요청이 들어오면 데이터를 반환하는 역할.
- @RestController를 사용하여 REST API를 제공.
- @RequestMapping("/api")로 /api 경로의 요청을 처리.
- @GetMapping("/hello")는 /api/hello 경로로 GET 요청이 오면 특정 응답(JSON 데이터 등)을 반환.
- 왜 필요한가?
- 클라이언트(Flutter 앱)가 API를 호출하면, 이 컨트롤러가 요청을 처리하고 데이터를 반환.
4. SecurityConfig (Spring Security 설정)
- 하는 일:
- Spring Boot는 기본적으로 보안을 강화하기 위해 모든 요청을 인증하도록 되어 있음.
- 이 설정을 통해 보안 설정을 변경하고, 특정 요청을 허용할 수 있도록 함.
- 설정 내용:
- csrf().disable(): CSRF(Cross-Site Request Forgery) 보호를 비활성화.
- authorizeHttpRequests().anyRequest().permitAll(): 모든 요청을 인증 없이 허용.
- 왜 필요한가?
- 기본적으로 Spring Security는 모든 요청을 차단하므로, API 호출이 원활하게 이루어지도록 설정 변경이 필요함.
- Flutter 또는 다른 클라이언트가 API를 호출할 때 인증 없이 접근할 수 있도록 하기 위해 사용.
728x90