use of com.tvd12.ezyhttp.client.request.Request in project ezyfox-examples by tvd12.
the class BookController method addBook.
@DoPost("/book/add")
public BookResponse addBook(@RequestBody AddBookRequest request) {
BookNameAndAuthorId bookNameAndAuthorId = new BookNameAndAuthorId(request.getBookName(), request.getAuthorId());
Long existedBookId = bookIdByNameAndAuthorIdMap.get(bookNameAndAuthorId);
if (existedBookId != null) {
throw new HttpBadRequestException("author: " + request.getAuthorId() + " has already registered book: " + request.getBookName());
}
Author author = authorMap.get(request.getAuthorId());
if (author == null) {
throw new HttpBadRequestException("author: " + request.getAuthorId() + " not found");
}
Category category = categoryMap.get(request.getCategoryId());
if (category == null) {
throw new HttpBadRequestException("category: " + request.getCategoryId() + " not found");
}
val bookId = idGentor.incrementAndGet();
val book = requestToEntityConverter.toBookEntity(request, bookId);
bookMap.put(book.getId(), book);
bookIdByNameAndAuthorIdMap.put(bookNameAndAuthorId, bookId);
return entityToResponseConverter.toBookResponse(book, author, category);
}
use of com.tvd12.ezyhttp.client.request.Request in project ezyfox-examples by tvd12.
the class CategoryController method addCategory.
@DoPost("/add")
public Category addCategory(@RequestBody AddCategoryRequest request) {
Long existedCategoryId = categoryIdByNameMap.get(request.getCategoryName());
if (existedCategoryId != null) {
throw new HttpBadRequestException("category named: " + request.getCategoryName() + " existed");
}
Category category = new Category(idGentor.incrementAndGet(), request.getCategoryName());
categoryMap.put(category.getId(), category);
categoryIdByNameMap.put(category.getName(), category.getId());
return category;
}
use of com.tvd12.ezyhttp.client.request.Request in project ezyfox-examples by tvd12.
the class BookController method addBook.
@DoPost("/book/add")
public BookResponse addBook(@RequestBody AddBookRequest request) {
bookValidator.validate(request);
final AddBookData addBookData = requestToDataConverter.toData(request);
final BookData bookData = bookService.addBook(addBookData);
return dataToResponseConverter.toResponse(bookData);
}
use of com.tvd12.ezyhttp.client.request.Request in project ezyfox-examples by tvd12.
the class CategoryController method addCategory.
@DoPost("/add")
public CategoryResponse addCategory(@RequestBody AddCategoryRequest request) {
categoryValidator.validate(request);
final AddCategoryData addCategoryData = requestToDataConverter.toData(request);
final CategoryData categoryData = categoryService.saveCategory(addCategoryData);
return dataToResponseConverter.toResponse(categoryData);
}
use of com.tvd12.ezyhttp.client.request.Request in project ezyfox-examples by tvd12.
the class AuthorController method addAuthor.
@DoPost("/add")
public AuthorResponse addAuthor(@RequestBody AddAuthorRequest request) {
authorValidator.validate(request);
final AddAuthorData addAuthorData = requestToDataConverter.toData(request);
final AuthorData authorData = authorService.saveAuthor(addAuthorData);
return dataToResponseConverter.toResponse(authorData);
}
Aggregations