Skip to content

Instantly share code, notes, and snippets.

@solitudelad
Last active July 7, 2017 09:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save solitudelad/e64c61c9950da1efa62d9e13972fb31c to your computer and use it in GitHub Desktop.
Save solitudelad/e64c61c9950da1efa62d9e13972fb31c to your computer and use it in GitHub Desktop.
package com.knoldus;
import akka.Done;
import akka.NotUsed;
import com.lightbend.lagom.javadsl.api.Descriptor;
import com.lightbend.lagom.javadsl.api.Service;
import com.lightbend.lagom.javadsl.api.ServiceCall;
import java.util.List;
import java.util.Optional;
import static com.lightbend.lagom.javadsl.api.Service.named;
import static com.lightbend.lagom.javadsl.api.Service.restCall;
import static com.lightbend.lagom.javadsl.api.transport.Method.*;
public interface BookService extends Service {
/**
* @param isbn
* @return
*/
ServiceCall<NotUsed, Optional<Book>> getBook(String isbn);
/**
* @return
*/
ServiceCall<Book, Done> newBook();
/**
* @return
*/
ServiceCall<Book, Done> updateBook();
/**
* @param isbn
* @return
*/
ServiceCall<NotUsed, Done> deleteBook(String isbn);
ServiceCall<NotUsed, List<Book>> getAllBook();
/**
* @return
*/
@Override
default Descriptor descriptor() {
return named("book").withCalls(
restCall(GET, "/api/books/:isbn", this::getBook),
restCall(POST, "/api/books", this::newBook),
restCall(PUT, "/api/books", this::updateBook),
restCall(DELETE, "/api/books/:isbn", this::deleteBook),
restCall(GET, "/api/books", this::getAllBook)
).withAutoAcl(true);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment