roy

Crates.ioroy
lib.rsroy
version0.1.4
sourcesrc
created_at2020-10-13 21:51:11.048246
updated_at2021-03-23 21:58:13.496379
descriptionThis crate is a high-level library for consuming RESTful APIs.
homepagehttps://crates.io/crates/roy
repositoryhttps://github.com/jaredforth/roy
max_upload_size
id299389
size28,881
Jared Forth (jaredforth)

documentation

https://docs.rs/roy

README

Roy

A high-level library for consuming RESTful APIs.

Build Status Build status Crate API Crates.io GitHub top language Crates.io

Table of Contents

Documentation

Installation

Add this to your Cargo.toml:

[dependencies]
roy = "0.1"

Usage

To use any of the methods on the roy::Client struct, it has to be instantiated as follows:

// import into scope
use roy::Client;
// Instantiate `Client` with your API's base URL
let c = roy::Client::new("https://httpbin.org".to_string());  

All of the examples below assume that the struct has already been instantiated.

Quick Start

roy provides a high-level request function that can be used to quickly make requests. To make a

GET

c.get("/get", false); // Make a GET request to your endpoint

or

c.request("/get", roy::RequestMethod::GET, None); // Make GET request using alternate `request` function

POST

c.post("/post", "{some: data}"); // Make a POST request to your endpoint

or

c.request("/post", roy::RequestMethod::POST, Some("{}")); // Make POST request using alternate `request` function

PATCH

c.patch("/patch", "{some: data}"); // Make a PATCH request to your endpoint

or

c.request("/patch", roy::RequestMethod::PATCH, Some("{}")); // Make PATCH request using alternate `request` function

PUT

c.put("/put", "{some: data}"); // Make a PUT request to your endpoint

or

c.request("/put", roy::RequestMethod::PUT, Some("{}")); // Make PUT request using alternate `request` function

DELETE

c.delete("/delete"); // Make a DELETE request to your endpoint

or

c.request("/delete", roy::RequestMethod::DELETE, None); // Make DELETE request using alternate `request` function

License

Roy is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.

Behind the Name

This crate is named after Roy Fielding, who defined Representational State Transfer. According to Wikipedia:

Roy Fielding defined REST in his 2000 PhD dissertation "Architectural Styles and the Design of Network-based Software Architectures" at UC Irvine. He developed the REST architectural style in parallel with HTTP 1.1 of 1996–1999, based on the existing design of HTTP 1.0 of 1996.

Commit count: 39

cargo fmt