A Rust library for the JSON Placeholder API Documentation: https://docs.rs/jplaceholder/1.0.1/jplaceholder/
```rust extern crate jplaceholder; use jplaceholder::Model; use jplaceholder::Post;
match Post::find(2) { Some(post) => println!("Title of the article {}: {}", post.id, post.title), None => println!("Article not found!") } ```
To install the library, you just have to put it into your Cargo.toml file:
toml
jplaceholder = "1.0.1"
Then, require the library into your main file.
rust
extern crate jplaceholder;
The model trait provides usefull methods to interact with the resources.
Finds a resource by its ID
Example: ```rust use jplaceholder::Model; use jplaceholder::Post;
match Post::find(2) { Some(post) => println!("Title of the article {}: {}", post.id, post.title), None => println!("Article not found!") } ```
Gets all of the resources
Example: ```rust use jplaceholder::Model; use jplaceholder::Post;
let posts: Vec
Creates a new resource
Example: ```rust use jplaceholder::Model; use jplaceholder::Post;
let post = Post{id: 5, title: String::from("Hey"), body: String::from("hehe"), user_id: 5}; Post::create(post); ```
Relationships let you interact between models. Let's say that I get the first user like this: ```rust use jplaceholder::Model; use jplaceholder::User; use jplaceholder::Post;
let user = match User::find(1) {
Some(u) => u,
None => panic!("user not found")
};
Now, if I want to get all of the articles posted by this user:
rust
// .......
let posts: Vec
And conversely, if I want to get the user that posted an article: ```rust use jplaceholder::Model; use jplaceholder::Post;
if let Some(post) = Post::find(1) { match post.user() { Some(user) => println!("{} has posted this article", user.name), None => println!("Author not found") } } ```