Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Latest commit

 

History

History
202 lines (162 loc) · 8.43 KB

File metadata and controls

202 lines (162 loc) · 8.43 KB

UserPost

public class UserPost

A class that contains necessary endpoint classes

  • a class that calls the endpoint method using the http verb
  • a class that calls the endpoint method using the operationId name
  • class(es) to store the request inputs
  • builder(s) to set the request input data

Nested Class Summary

Modifier and Type Class and Description
static class Post
The class that has a post method to call the endpoint
interface CreateUserOperation
The interface that has a createUser method to call the endpoint
static class PostRequest
The final request inputs class
static class PostNullableRequest
The initial request inputs class
static class Post0RequestBuilder
A builder for the request input class
static class PostRequestBuilder
A builder for the request input class

Post

public static class Post extends ApiClient.ApiClient1 implements PostOperation

a class that allows one to call the endpoint using a method named post

Code Sample

import org.openapijsonschematools.client.configurations.ApiConfiguration;
import org.openapijsonschematools.client.configurations.SchemaConfiguration;
import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags;
import org.openapijsonschematools.client.exceptions.ValidationException;
import org.openapijsonschematools.client.exceptions.NotImplementedException;
import org.openapijsonschematools.client.exceptions.ApiException;
import org.openapijsonschematools.client.schemas.validation.MapUtils;
import org.openapijsonschematools.client.schemas.validation.FrozenList;
import org.openapijsonschematools.client.schemas.validation.FrozenMap;
import org.openapijsonschematools.client.RootServerInfo;
import org.openapijsonschematools.client.paths.user.post.UserPostRequestBody;
import org.openapijsonschematools.client.components.schemas.User;
import org.openapijsonschematools.client.servers.RootServer0;
import org.openapijsonschematools.client.servers.RootServer1;
import org.openapijsonschematools.client.servers.RootServer2;
import org.openapijsonschematools.client.paths.user.post.responses.UserPostCodedefaultResponse;
import org.openapijsonschematools.client.servers.RootServerInfo;
import org.openapijsonschematools.client.paths.user.UserPost;
import org.openapijsonschematools.client.paths.user.post.UserPostResponses;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.AbstractMap;

// if you want to use a server that is not SERVER_0 pass it in here and change the ServerIndex input below
ApiConfiguration.ServerInfo serverInfo = new ApiConfiguration.ServerInfoBuilder()
    .rootServerInfo(
        new RootServerInfo.RootServerInfoBuilder()
            .rootServer0(new RootServer0())
            .build()
    )
    .build();
ApiConfiguration.ServerIndexInfo serverIndexInfo = new ApiConfiguration.ServerIndexInfoBuilder()
    .rootServerInfoServerIndex(RootServerInfo.ServerIndex.SERVER_0)
    .build();
Duration timeout = Duration.ofSeconds(1L);
Map<String, List<String>> defaultHeaders = Map.of("User-Agent", List.of("OpenAPI-JSON-Schema-Generator/1.0.0/java"));
ApiConfiguration apiConfiguration = new ApiConfiguration(
    serverInfo
    serverIndexInfo,
    timeout,
    defaultHeaders
);
SchemaConfiguration schemaConfiguration = new SchemaConfiguration(new JsonSchemaKeywordFlags.Builder().build());
UserPost.Post apiClient = new UserPost.Post(apiConfiguration, schemaConfiguration);


User1BoxedMap requestBodyPayload =
    User.User1.validateAndBox(
    new User.UserMapBuilder()
        .id(1L)

        .username("a")

        .firstName("a")

        .lastName("a")

        .email("a")

        .password("a")

        .phone("a")

        .userStatus(1)

        .objectWithNoDeclaredPropsNullable(null)

    .build(),
    schemaConfiguration
);
UserPost.SealedRequestBody requestBody = new UserPost.ApplicationjsonRequestBody(requestBodyPayload);

var request = new UserPost.PostRequestBuilder()
    .requestBody(requestBody)
    .build();

UserPostResponses.EndpointResponse response;
try {
    response = apiClient.post(request);
} catch (ApiException e) {
    // server returned a response/contentType not defined in the openapi document
    throw e;
} catch (ValidationException e) {
    // the returned response body or header values do not conform the the schema validation requirements
    throw e;
} catch (IOException | InterruptedException e) {
    // an exception happened when making the request
    throw e;
} catch (NotImplementedException e) {
    // the request body serialization or deserialization has not yet been implemented
    // or the header content type deserialization has not yet been implemented for this contentType
    throw e;
}
UserPostResponses.EndpointUserPostCodedefaultResponse castResponse = (UserPostResponses.EndpointUserPostCodedefaultResponse) response;

Constructor Summary

Constructor and Description
Post(ApiConfiguration apiConfiguration, SchemaConfiguration schemaConfiguration)
Creates an instance

Method Summary

Modifier and Type Method and Description
UserPostResponses.EndpointResponse post(PostRequest request)

CreateUserOperation

public interface CreateUserOperation

an interface that allows one to call the endpoint using a method named createUser by the operationId

Method Summary

Modifier and Type Method and Description
UserPostResponses.EndpointResponse createUser(PostRequest request)

PostRequest

public static class PostRequest

a class that stores the final request inputs

Field Summary

Modifier and Type Field and Description
UserPostRequestBody.SealedRequestBody requestBody
RootServerInfo.@Nullable ServerIndex serverIndex
optional. Note: this will override the value in apiConfiguration
@Nullable Duration timeout
optional. Note: this will override the value in apiConfiguration

PostNullableRequest

public static class PostNullableRequest

a class that stores the initial request inputs

Field Summary

Modifier and Type Field and Description
UserPostRequestBody.@Nullable SealedRequestBody requestBody
RootServerInfo.@Nullable ServerIndex serverIndex
@Nullable Duration timeout

Post0RequestBuilder

public static class Post0RequestBuilder

a builder for request inputs

Constructor Summary

Constructor and Description
Post0RequestBuilder(Post0RequestBuilder instance)
Creates a builder that contains the passed instance

Method Summary

Modifier and Type Method and Description
PostRequest build()
Returns the request input used to call an endpoint method
Post0RequestBuilder serverIndex(RootServerInfo.ServerIndex serverIndex)
sets the optional property. Note: this will override the value in apiConfiguration
Post0RequestBuilder timeout(Duration timeout)
sets the optional property. Note: this will override the value in apiConfiguration

PostRequestBuilder

public static class PostRequestBuilder

a builder for request inputs

Constructor Summary

Constructor and Description
PostRequestBuilder()
Creates a builder that contains null for all parameters

Method Summary

Modifier and Type Method and Description
Post0RequestBuilder requestBody(UserPostRequestBody.SealedRequestBody requestBody)
sets the property

[Back to top] [Back to README]