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) void
cancelReservation
(Integer reservationId) boolean
canRentedItemAtTerm
(Integer rentalItemId, @NotNull LocalDateTime from, @NotNull LocalDateTime to) void
deleteRentalItem
(Integer rentalItemId) void
deleteReservation
(Integer reservationId) void
deleteUserAccount
(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)
-