Jonas Emmert 6075b8a8f1
[R][Client] Fix api response, JSON for maps and let httr2 api client handle empty response bodies (#18049)
* changed files from rebuilding project and updating samples

* change default value of from_encoding to empty string

- from_encoding = NULL is invalid and produces an error, as only strings are allowed, see https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/iconv
- defaulting to an empty string fixes this issue

* fix map being surrounded by quotes in json

* allow httr2 client to deal with empty response body

* changed files from rebuilding project and updating samples

* added PetMap schema for test of correct map serialization in toJSONString and regenerated samples
2024-03-13 15:30:58 +08:00

6.2 KiB

R API client for petstore

This is a sample server Petstore server. For this sample, you can use the api key special-key to test the authorization filters.

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI spec from a remote server, you can easily generate an API client.

  • API version: 1.0.0
  • Package version: 1.0.0
  • Generator version: 7.5.0-SNAPSHOT
  • Build package: org.openapitools.codegen.languages.RClientCodegen

Installation

Prerequisites

Install the dependencies

install.packages("jsonlite")
install.packages("httr")
install.packages("base64enc")

Build the package

git clone https://github.com/GIT_USER_ID/GIT_REPO_ID
cd GIT_REPO_ID
R CMD build .
R CMD check petstore_1.0.0.tar.gz --no-manual
R CMD INSTALL --preclean petstore_1.0.0.tar.gz

Install the package

install.packages("petstore")

To install directly from Github, use devtools:

install.packages("devtools")
library(devtools)
install_github("GIT_USER_ID/GIT_REPO_ID")

To install the package from a local file:

install.packages("petstore_1.0.0.tar.gz", repos = NULL, type = "source")

Usage

library(petstore)

Reformat code

To reformat code using styler, please run the following in the R console:

install.packages("remotes")
remotes::install_github("r-lib/styler@v1.7.0.9003")
library("styler")
style_dir()

Documentation for API Endpoints

All URIs are relative to http://petstore.swagger.io/v2

Class Method HTTP request Description
FakeApi AddPetOptional POST /fake/test_optional_body_parameter Add a new pet to the store (optional body)
FakeApi FakeDataFile GET /fake/data_file test data_file to ensure it's escaped correctly
FakeApi FakePathArray GET /fake/path_array/{path_array}/testing test array parameter in path
FakeApi FakeRegularExpression GET /fake/regular_expression test regular expression to ensure no exception
FakeApi FakeSetQuery GET /fake/set_query_parameter test set query parameter
PetApi AddPet POST /pet Add a new pet to the store
PetApi DeletePet DELETE /pet/{petId} Deletes a pet
PetApi FindPetsByStatus GET /pet/findByStatus Finds Pets by status
PetApi FindPetsByTags GET /pet/findByTags Finds Pets by tags
PetApi GetPetById GET /pet/{petId} Find pet by ID
PetApi GetPetByIdStreaming GET /pet/{petId}?streaming Find pet by ID (streaming)
PetApi TestHeader GET /pet_header_test Header test
PetApi UpdatePet PUT /pet Update an existing pet
PetApi UpdatePetWithForm POST /pet/{petId} Updates a pet in the store with form data
PetApi UploadFile POST /pet/{petId}/uploadImage uploads an image
StoreApi DeleteOrder DELETE /store/order/{orderId} Delete purchase order by ID
StoreApi GetInventory GET /store/inventory Returns pet inventories by status
StoreApi GetOrderById GET /store/order/{orderId} Find purchase order by ID
StoreApi PlaceOrder POST /store/order Place an order for a pet
UserApi CreateUser POST /user Create user
UserApi CreateUsersWithArrayInput POST /user/createWithArray Creates list of users with given input array
UserApi CreateUsersWithListInput POST /user/createWithList Creates list of users with given input array
UserApi DeleteUser DELETE /user/{username} Delete user
UserApi GetUserByName GET /user/{username} Get user by user name
UserApi LoginUser GET /user/login Logs user into the system
UserApi LogoutUser GET /user/logout Logs out current logged in user session
UserApi UpdateUser PUT /user/{username} Updated user

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

http_auth

  • Type: HTTP basic authentication

BearerToken

  • Type: Bearer authentication

petstore_auth

api_key

  • Type: API key
  • API key parameter name: api_key
  • Location: HTTP header