Как я могу манипулировать REST API GET, сгенерированным YANG в Opendaylight? - PullRequest
0 голосов
/ 29 мая 2018

PUT, DELETE, POST может работать, как показано ниже.

Кстати, я не знаю, как сделать GET.

Пожалуйста, помогите мне.

// PUT & DELETE (mapped to WRITE, DELETE of MD-SAL)
public void onDataTreeChanged(Collection<DataTreeModification<GreetingRegistry>> changes) {
  for(DataTreeModification<GreetingRegistry> change: changes) {
     DataObjectModification<GreetingRegistry> rootNode = change.getRootNode();
     if(rootNode.getModificationType() == WRITE) {
        ...
     }
     else if(rootNode.getModificationType() == DELETE) {
        ...
     }
}


// POST (mapped to RPC of MD-SAL)
public Future<RpcResult<HelloWorldOutput>> helloWorld(HelloWorldInput input) 
{
  HelloWorldOutputBuilder helloBuilder = new HelloWorldOutputBuilder();
  helloBuilder.setGreeting("Hello " + input.getName());
  return RpcResultBuilder.success(helloBuilder.build()).buildFuture();
}

// GET (???)
How should I implement it?

1 Ответ

0 голосов
/ 30 мая 2018

На самом деле вам не нужно ничего реализовывать для GET в вашем коде, когда вы хотите читать из данных MD-SAL по модели YANG, метод GET доступен по умолчанию и возвращает все данные, которые вы запрашиваете в URL,Важно указать правильный URL-адрес.

Если вы хотите выполнить некоторую обработку данных, прежде чем возвращать их пользователю, вы можете использовать RPC с POST и выполнять обработку в методах на основе RPC.В приведенном выше примере вы можете поместить ключи поиска в HelloWorldInput, выполнить обработку в helloWorld() и вернуть результаты в HelloWorldOutput.

...