Автоматически сгенерированный маршрут правильно возвращает узлы из базы данных Neo4J, поэтому я предполагаю, что в соединении bean-компонентов должна быть какая-то ошибка.
Контроллер:
Код: Выделить всё
@RestController
public class NodeController {
@PostMapping("/metrics")
public MetricJSON computeMetrics(
@Valid @RequestBody MetricsPayload payload,
@Autowired SocialNetwork socialNetwork
) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {
return new MetricJSON(socialNetwork.fromRequest(payload));
}
Код: Выделить всё
@Service
public class SocialNetwork {
@Autowired
public NetworkRepository networkRepository;
@Autowired
public NodeRepository nodeRepository;
@Autowired
public Evolution evolution;
public PersonalNetwork fromRequest(@NotNull MetricsPayload payload) throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {
Network network = this.networkRepository.findById(payload.getNetworkId()).orElseThrow(NotFoundException::new);
Node ego = this.nodeRepository.findByTag(payload.getEgoTag()).orElseThrow(NotFoundException::new);
SimpleWeightedGraph opn = this.nodeRepository.extractOPN(ego, payload.getDepth());
return this.fromGraph(opn, ego, payload);
}
Код: Выделить всё
@org.springframework.data.neo4j.core.schema.Node("Node")
public class Node {
@Id
private String id;
@Property("tag")
private String tag;
@Relationship(type = "FROM", direction = OUTGOING)
private Set outgoingNodes;
@Relationship(type = "TO", direction = INCOMING)
private Set incomingNodes;
public String getTag() {
return tag;
}
public Set getOutgoingNodes() {
return outgoingNodes;
}
Код: Выделить всё
public interface NodeRepository extends Neo4jRepository {
Optional findByTag(String tag);
}
Не удалось завершить запрос: java.lang .NullPointerException: невозможно вызвать «com.api.repositories.NodeRepository.findByTag(String)», поскольку «this.nodeRepository» имеет значение NULL
Подробнее здесь: https://stackoverflow.com/questions/770 ... sing-neo4j