Interface WebApiSpec

All Known Implementing Classes:
RentalReservationResource

public interface WebApiSpec
レンタル予約システムのREST APIインタフェース。 MicroProfileのOpenAPIのアノテーションを使いAPIの詳細情報を付加している。
全体に関するAPI情報はApplicationConfigに定義。
  • Field Details

  • 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

      @GET @Path("/items") @Produces("application/json") List<RentalItemResourceDto> getAllRentalItems()
    • addReservation

      @POST @Path("/reservations") @Consumes("application/json") @Produces("application/json") ReservationResourceDto addReservation(@Valid @Valid AddReservationDto dto)
    • cancelReservation

      @DELETE @Path("/reservations/own/{reservationId}") void cancelReservation(@RmsId @PathParam("reservationId") Integer reservationId)
    • 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

      @DELETE @Path("/items/{rentalItemId}") void deleteRentalItem(@RmsId @PathParam("rentalItemId") Integer rentalItemId)
    • 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

      @DELETE @Path("/reservations/{reservationId}") void deleteReservation(@RmsId @PathParam("reservationId") Integer reservationId)
    • 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

      @DELETE @Path("/users/{userAccountId}") void deleteUserAccount(@RmsId @PathParam("userAccountId") Integer userAccountId)
    • 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)