Package io.extact.rms.external.webapi
Interface WebApiSpec
- All Known Implementing Classes:
RentalReservationResource
public interface WebApiSpec
レンタル予約システムのREST APIインタフェース。
MicroProfileのOpenAPIのアノテーションを使いAPIの詳細情報を付加している。
全体に関するAPI情報は
全体に関するAPI情報は
ApplicationConfigに定義。-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionaddRentalItem(@Valid AddRentalItemDto dto) addReservation(@Valid AddReservationDto dto) addUserAccount(@Valid AddUserAccountDto dto) authenticate(@Valid LoginDto loginDto) authenticate(String loginId, String password) voidcancelReservation(Integer reservationId) booleancanRentedItemAtTerm(Integer rentalItemId, @NotNull LocalDateTime from, @NotNull LocalDateTime to) voiddeleteRentalItem(Integer rentalItemId) voiddeleteReservation(Integer reservationId) voiddeleteUserAccount(Integer userAccountId) findCanRentedItemAtTerm(@NotNull LocalDateTime from, @NotNull LocalDateTime to) findReservationByRentalItemAndStartDate(Integer itemId, @NotNull LocalDate startDate) findReservationByRentalItemId(Integer rentalItemId) findReservationByReserverId(Integer reserverId) updateRentalItem(@Valid RentalItemResourceDto updateDto) updateReservation(@Valid ReservationResourceDto updateDto) updateUserAccount(@Valid UserAccountResourceDto dto) updateUserProfile(@Valid UserAccountResourceDto dto)
-
Field Details
-
ADMIN_ROLE
for @RolesAllowed const- See Also:
-
MEMBER_ROLE
- See Also:
-
-
Method Details
-
authenticate
@GET @Path("/login") @Produces("application/json") UserAccountResourceDto authenticate(@LoginId @QueryParam("loginId") String loginId, @Passowrd @QueryParam("password") String password) -
authenticate
@POST @Path("/login") @Consumes("application/json") @Produces("application/json") UserAccountResourceDto authenticate(@Valid @Valid LoginDto loginDto) -
findReservationByRentalItemAndStartDate
@GET @Path("/reservations/item/{itemId}/startdate/{startDate}") @Produces("application/json") List<ReservationResourceDto> findReservationByRentalItemAndStartDate(@RmsId @PathParam("itemId") Integer itemId, @NotNull @PathParam("startDate") @NotNull LocalDate startDate) -
findReservationByReserverId
@GET @Path("/reservations/reserver/{reserverId}") @Produces("application/json") List<ReservationResourceDto> findReservationByReserverId(@RmsId @PathParam("reserverId") Integer reserverId) -
getOwnReservations
@GET @Path("/reservations/own") @Produces("application/json") List<ReservationResourceDto> getOwnReservations() -
getAllRentalItems
-
addReservation
@POST @Path("/reservations") @Consumes("application/json") @Produces("application/json") ReservationResourceDto addReservation(@Valid @Valid AddReservationDto dto) -
cancelReservation
-
findReservationByRentalItemId
@GET @Path("/reservations/item/{rentalItemId}") @Produces("application/json") List<ReservationResourceDto> findReservationByRentalItemId(@RmsId @PathParam("rentalItemId") Integer rentalItemId) -
findCanRentedItemAtTerm
@GET @Path("/items/rentable") @Produces("application/json") List<RentalItemResourceDto> findCanRentedItemAtTerm(@NotNull @QueryParam("from") @NotNull LocalDateTime from, @NotNull @QueryParam("to") @NotNull LocalDateTime to) -
canRentedItemAtTerm
@GET @Path("/items/{rentalItemId}/rentable") @Produces("application/json") boolean canRentedItemAtTerm(@RmsId @PathParam("rentalItemId") Integer rentalItemId, @NotNull @QueryParam("from") @NotNull LocalDateTime from, @NotNull @QueryParam("to") @NotNull LocalDateTime to) -
addRentalItem
@POST @Path("/items") @Consumes("application/json") @Produces("application/json") RentalItemResourceDto addRentalItem(@Valid @Valid AddRentalItemDto dto) -
updateRentalItem
@PUT @Path("/items") @Consumes("application/json") @Produces("application/json") RentalItemResourceDto updateRentalItem(@Valid @Valid RentalItemResourceDto updateDto) -
deleteRentalItem
-
getAllReservations
@GET @Path("/reservations") @Produces("application/json") List<ReservationResourceDto> getAllReservations() -
updateReservation
@PUT @Path("/reservations") @Consumes("application/json") @Produces("application/json") ReservationResourceDto updateReservation(@Valid @Valid ReservationResourceDto updateDto) -
deleteReservation
-
getAllUserAccounts
@GET @Path("/users") @Produces("application/json") List<UserAccountResourceDto> getAllUserAccounts() -
addUserAccount
@POST @Path("/users") @Consumes("application/json") @Produces("application/json") UserAccountResourceDto addUserAccount(@Valid @Valid AddUserAccountDto dto) -
updateUserAccount
@PUT @Path("/users") @Consumes("application/json") @Produces("application/json") UserAccountResourceDto updateUserAccount(@Valid @Valid UserAccountResourceDto dto) -
deleteUserAccount
-
getOwnUserProfile
@GET @Path("/users/own") @Consumes("application/json") @Produces("application/json") UserAccountResourceDto getOwnUserProfile() -
updateUserProfile
@PUT @Path("/users/own") @Consumes("application/json") @Produces("application/json") UserAccountResourceDto updateUserProfile(@Valid @Valid UserAccountResourceDto dto)
-