seong
#1 Dot_node 위젯 데이터 서버와 통신 본문
TODO
1. 서버와 통신에 필요한 데이터 가공
2. Insert 완료
3. Get 요청 후 화면 View까지 띄워보기
현재 진행 상태
- 서버에 필요한 데이터를 만들기 위해 Riverpod 를 사용해 일부분만 만들어짐.
- 서버와 통신을 위한 세팅 완료
http_connector의 post 함수에 JwtToken 넣기
현재 웹에서 JwtToken을 받아내지 못하고 있는 상황을 해결 하는 것은 후순위로 해둔 상태라, 임의로 넣어주었다.
이때 JwtToken의 "Bearer" 부분은 원래 직접 가공 하려 했지만, 서버에서 해주어서 모두다 넣었다.
그리고 Key-value 형식이기 때문에 Key값인 Access-Token도 맞추어 주어야했다.
- 서버에 데이터 전달 후 response값을 확인해보니 성공을 했다.
Widget Save 과 동시에 mainView에 저장한 데이터를 바탕으로 그려주기
1. Button클릭을 하면 서버에 데이터가 저장이 된다.
2. 저장 이후 containerWidget 객체를 만들고, list에 add해주었다.
어떻게 보면 비즈니스 로직이라고 하면 할 수 있고, RiverPod를 사용중이라, 의도에 맞게 나중에 위치를 변경해야겠다.
ContainerWidget에서 데이터를 전달 받은 후 Text로 보여주기
원래 Text에는 RiverPod에 데이터가 있어 받아보려 했지만, 부모 위젯에 initState로 가장 초기에 Build를 해버려서, index null 에러가 나서 임의로 아래 처럼 진행했다....(찝찝)
입력된 데이터가 있다면 Column을, 없다면 TextFormField를 보여주기
위의 기능을 구현하기 위해서 Visibility위젯을 사용했다.
visible 에 조건 입력 : titleElement와 contentElement 둘중 하나가 있다면 Column울 보여주게 되어있다.
아니나 다를까 null value 에러 발생..
에러 확인해볼 결과 RiverPod 을 사용할때 state를 사용하지 않고 임의로 list를 선언해 사용한 것이 문제였다.
상태관리를 사용하면서.. state를 쓰지 않고, List변수를 만들어서 Insert 하려던게 문제였다.
state = [...state,...]를 사용해서 넣도록 수정하니 성공했다.
서버에 정상적으로 입력이 되었다.
Post를 서버와 통신하면서 이전 잘못 작성한 RiverPod를 다시 잡으면서 하려니 하루를 잡아먹었다...
'Flutter > dot' 카테고리의 다른 글
#4 Dot_node RangeError (index): Index out of range: no indices are valid: 1 에러 해결하기 (0) | 2023.07.26 |
---|---|
#3 Dot_node CustomAppBar 만들기 (PreferSizeWidget 상속) (0) | 2023.06.30 |
#2 Dot_node API Get 요청하기 (0) | 2023.06.18 |
Modal으로 로그인 페이지 구현하기 (0) | 2023.05.19 |
서버와 통신을 위한 connector 생성 (0) | 2023.05.19 |