DEV Community

Cover image for Writing Simple RestAPI in Nim With HappyX #2
Ethosa
Ethosa

Posted on • Edited on

Writing Simple RestAPI in Nim With HappyX #2

Previously we added /hello-world method that responds "Hello, world!"

In this series, we'll attempt to write methods for working with simple posts (without connecting to a database for now). 🙂

Let's open /tutorial/src/main.nim 🍍

Rewrite this

# Setting up our server at `127.0.0.1:5000` serve("127.0.0.1", 5000): 
Enter fullscreen mode Exit fullscreen mode

to this

# Setting up our server at `127.0.0.1:5000` serve("127.0.0.1", 5000): var posts = %*[ { "title": "Hello", "text": "world" }, { "title": "Bye", "text": ":(" }, { "title": "Perfect nim web framework?", "text": "it's HappyX 🍍" }, ] 
Enter fullscreen mode Exit fullscreen mode

After this we add a new method that responds all posts 🔨
Try recompile /src/main.nim and open ✌http://localhost:5000/posts

 # on GET HTTP method at 127.0.0.1:5000/posts get "/posts": # will responds all posts return posts 
Enter fullscreen mode Exit fullscreen mode

Add method that responds only one post also 🛠

 # on GET HTTP method at 127.0.0.1:5000/post get "/post$index:int": # index is post index if posts.len > index: # try open 127.0.0.1:5000/post0 return posts[index] else: # try open 127.0.0.1:5000/post10 return { "error": "post index is wrong" } 
Enter fullscreen mode Exit fullscreen mode

And open http://localhost:5000/post1 as example 🙂

That's all, good luck ✨

Source code

Top comments (0)