-
[단기 스터디] 2일차Frontend/Dart&Flutter 2024. 3. 14. 22:16
0. 들어가며
어제 이어서 springboot랑 flutter랑 연동해 볼 예정이다.
책에서는 그냥 jar 파일 다운받아서 사용해보라고 하는데, 나는 백엔드 개발을 할 예정이니까 내부적으로도 어떻게 돌아가야 하는지 알아야 될 것 같아서 springboot로 직접 코딩했다.
1. SpringBoot
1.1. 코딩하기
딱히 뭔가를 만들어 보려는 건 아니고 springboot랑 flutter가 잘 연동되는지 확인하기 위해서 간단한 user 기능만 작성할 예정이다.
- user 정보 입력하기
- user 정보 찾기
귀찮아서 dto도 안 만들었다..
순서대로 User, UserRepository, UserService, UserController다.
더보기@Entity @Getter @NoArgsConstructor public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "user_id") Long userId; @Column String name; @Column Long age; @Column String comment; public User(String name, Long age, String comment) { this.name = name; this.age = age; this.comment = comment; } }
@RepositoryRestResource public interface UserRepository extends JpaRepository<User, Long> { }
@Service @RequiredArgsConstructor public class UserService { private final UserRepository userRepository; public ApiResponse<User> saveUserInfo(User user) { User save = userRepository.save(user); return ApiResponse.success(SuccessMessage.UPLOAD_USER_SUCCESS, save); } public ApiResponse<User> findUserInfo(Long userId) { User user = userRepository.findById(userId).orElseThrow(() -> new NotFoundException(ErrorMessage.NOT_EXIST_USER)); return ApiResponse.success(SuccessMessage.GET_USER_SUCCESS, user); } }
@RestController @RequiredArgsConstructor public class UserController { private final UserService userService; @PostMapping("/users") ApiResponse<User> saveUserInfo(User user) { return userService.saveUserInfo(user); } @GetMapping("/users/{userId}") ApiResponse<User> findUserInfo(Long userId) { return userService.findUserInfo(userId); } }
오잉 값이 안들어갔다. controller에 @RequestBody랑 @PathVariable을 안 넣어줌..
@PostMapping("/users") ApiResponse<User> saveUserInfo(@RequestBody User user) { return userService.saveUserInfo(user); } @GetMapping("/users/{userId}") ApiResponse<User> findUserInfo(@PathVariable Long userId) { return userService.findUserInfo(userId); }
성공 ^p^
1.2. 빌드하기
spring boot 빌드 과정은 다음과 같다.
- 프로젝트 경로로 가기
- gradlew build 명령어 사용
- plain.jar랑 그냥.jar가 나오는데, plain 버전은 의존성 없는 클래스랑 리소스 파일만 포함하는 거라서 상관 안해도 된다.
- cd build/libs 로 이동
- java -jar '프로젝트 이름.jar'
jar로 실행한 다음 postman으로 실행 성공 이제 flutter 만들고 배포하는 걸 해보고 싶었는데, 시간이 촉박하고 aws가 더 급해서 기회가 되면 하려고 한다.
원래 dart&flutter 공부하려고 했는데, 결국 한 건 springboot 배포..
'Frontend > Dart&Flutter' 카테고리의 다른 글
[단기 스터디] 1일차 (0) 2024.03.12 [단기 스터디] orientation (0) 2024.03.11