jaredforth / roy

Roy is a high-level library for consuming RESTful APIs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Roy is a high-level library for consuming RESTful APIs.

License:Other


Languages

Language:Rust 100.0%