-
SpringBoot+Neo4j [API 구현]NOSQL/Neo4j 2021. 11. 12. 14:23
REST-API를 이용하여 노드 업데이트를 진행해보자.
코드 참고 : https://github.com/alska95/Spring_Neo4j_Project
기존 Spring의 사용법과 다를게 없다.
우선 기존에 Spring을 사용하던것과 똑같이 컨트롤러와 서비스를 만들어 보자.
기본적인 조회, 저장, 업데이트 기능을 구현했다.
그리고 서비스 클래스는 엔티티를 직접 노출시키지 않기위해 엔티티와 dto를 치환해 주는 정도의 역할 정도로 작성했다.
커낵션 Auth정보를 전달하지 않으면 다음과 같은 에러가 발생한다.
org.neo4j.driver.exceptions.AuthenticationException: Unsupported authentication token, scheme='none' only allowed when auth is disabled
커넥션을 위해 id를 생성하고 authToken을 얻기 귀찮으니
필자는 그냥 Authentication 옵션을 끄고 진행하기로 했다.
I:\Neo4j Desktop\.Neo4jDesktop\relate-data\dbms\dbms-1c19a212-6108-449a-ba2d-79849ea61545\conf
해당 위치(. Neo4 jDesktop 하위 폴더)에 있는 neo4j.conf파일의
dbms.security.auth_enabled=true
옵션을
dbms.security.auth_enabled=false
로 바꿔주자.
다른 설정 방법을 사용하고 싶다면 아래 링크를 참고하자. (직접 토큰을 넘기는 방법과 특정 URL의 접근만 받아들이는 방법도 있다. )
https://neo4j.com/docs/operations-manual/current/configuration/password-and-user-recovery/
이렇게 설정을 해 뒀다면 요청을 정상적으로 받아들일 수 있을 것이다.
필자는 구글 플러그인 ADVANCED-REST-API를 사용해서 요청을 보내봤다.
정상적으로 작동하는 것을 볼 수 있다.
born을 20201로 바꾸기 위해, body에 해당 Json을 담아서 요청을 보내 보았다. 응답은 200ok가 떨어졌고,
정상적으로 수정되었음을 확인할 수 있다.
'NOSQL > Neo4j' 카테고리의 다른 글
SpringBoot+Neo4j [2. 두 개의 노드 엔티티와 두 개의 관계를 가지는 GraphDB프로젝트] (0) 2021.11.12 SpringBoot+Neo4j [1. 하나의 노드 엔티티만을 가지는 GraphDB프로젝트] (1) 2021.11.09 SpringBoot+Neo4j [CRUD 기능 구현] (0) 2021.11.09 SpringBoot+Neo4j [Neo4jRepository에 관하여] (0) 2021.11.09