Package dev.mayuna.simpleapi
Class APIRequest.Builder
- java.lang.Object
-
- dev.mayuna.simpleapi.APIRequest.Builder
-
- Enclosing interface:
- APIRequest
public static class APIRequest.Builder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description APIRequest.BuilderaddPathParameter(@NonNull PathParameter pathParameter)AddsPathParameterto an existingPathParameterarray (or creates a new array if you have not set anyPathParameter)APIRequest.BuilderaddQuery(@NonNull Query query)@NonNull APIRequestbuild()Builds youAPIRequestAPIRequest.BuildersetBodyHandler(java.net.http.HttpResponse.BodyHandler<?> bodyHandler)SetsHttpResponse.BodyHandlerAPIRequest.BuildersetBodyPublisher(java.net.http.HttpRequest.BodyPublisher bodyPublisher)SetsHttpRequest.BodyPublisherAPIRequest.BuildersetContentType(@NonNull java.lang.String contentType)Sets Content-Type header value@NonNull APIRequest.BuildersetEndpoint(@NonNull java.lang.String endpoint)Sets APIs endpointAPIRequest.BuildersetHttpRequestBuilder(@NonNull java.util.function.Consumer<java.net.http.HttpRequest.Builder> httpRequestBuilderConsumer)SetsConsumerwhich hasHttpRequest.BuilderargumentAPIRequest.BuildersetMethod(@NonNull java.lang.String method)Sets HTTP Request methodAPIRequest.BuildersetPathParameters(@NonNull PathParameter... pathParameters)SetsPathParametersAPIRequest.BuildersetQueries(@NonNull Query... queries)SetsQueryies
-
-
-
Method Detail
-
build
@NonNull public @NonNull APIRequest build()
Builds youAPIRequest- Returns:
- Non-null
APIRequest - Throws:
java.lang.IllegalArgumentException- if you have not calledsetEndpoint(String)orsetMethod(String)methods
-
setEndpoint
@NonNull public @NonNull APIRequest.Builder setEndpoint(@NonNull @NonNull java.lang.String endpoint)
Sets APIs endpoint- Parameters:
endpoint- Non-null API endpoint- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getEndpoint()
-
setMethod
public APIRequest.Builder setMethod(@NonNull @NonNull java.lang.String method)
Sets HTTP Request method- Parameters:
method- Non-null HTTP Request method- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getMethod()
-
setContentType
public APIRequest.Builder setContentType(@NonNull @NonNull java.lang.String contentType)
Sets Content-Type header value- Parameters:
contentType- Non-null Content-Type header value- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getContentType()
-
setBodyPublisher
public APIRequest.Builder setBodyPublisher(@NonNull java.net.http.HttpRequest.BodyPublisher bodyPublisher)
SetsHttpRequest.BodyPublisher- Parameters:
bodyPublisher- Non-nullHttpRequest.BodyPublisher- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getBodyPublisher()
-
setPathParameters
public APIRequest.Builder setPathParameters(@NonNull @NonNull PathParameter... pathParameters)
SetsPathParameters- Parameters:
pathParameters- Non-nullPathParameterarray- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getPathParameters()
-
addPathParameter
public APIRequest.Builder addPathParameter(@NonNull @NonNull PathParameter pathParameter)
AddsPathParameterto an existingPathParameterarray (or creates a new array if you have not set anyPathParameter)- Parameters:
pathParameter- Non-nullPathParameter- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getPathParameters()
-
setQueries
public APIRequest.Builder setQueries(@NonNull @NonNull Query... queries)
SetsQueryies- Parameters:
queries- Non-nullQueryarray- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getQueries()
-
addQuery
public APIRequest.Builder addQuery(@NonNull @NonNull Query query)
- Parameters:
query- Non-nullQuery- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getQueries()
-
setHttpRequestBuilder
public APIRequest.Builder setHttpRequestBuilder(@NonNull @NonNull java.util.function.Consumer<java.net.http.HttpRequest.Builder> httpRequestBuilderConsumer)
SetsConsumerwhich hasHttpRequest.Builderargument- Parameters:
httpRequestBuilderConsumer- Non-nullHttpRequest.BuilderConsumer- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.processHttpRequestBuilder(HttpRequest.Builder)
-
setBodyHandler
public APIRequest.Builder setBodyHandler(@NonNull java.net.http.HttpResponse.BodyHandler<?> bodyHandler)
SetsHttpResponse.BodyHandler- Parameters:
bodyHandler- Non-nullHttpResponse.BodyHandler- Returns:
APIRequest.Builder, great for chaining- See Also:
APIRequest.getBodyHandler()
-
-