DEV Community

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

Posted on

Writing Simple RestAPI in Nim With HappyX #3

Hi there πŸ‘‹!

Previously we add posts getting πŸ™‚.

Now we implement post adding ✌.

At first go into src/main.nim and add Request Model

import
  # This will import HappyX framework
  happyx

# Request model AddPost
# with two string fields
model AddPost:
  title: string
  text: string
Enter fullscreen mode Exit fullscreen mode

After this let's create post addition method 🍍

  # on POST HTTP method at 127.0.0.1:5000/post/
  post "/post/[postData:AddPost]":
Enter fullscreen mode Exit fullscreen mode

Here we use AddPost as postData immutable var 🎈

Let's add sended post into posts variable

  # on POST HTTP method at 127.0.0.1:5000/post/
  post "/post/[postData:AddPost]":
    posts.add(%*{
      "title": postData.title,
      "text": postData.text
    })
Enter fullscreen mode Exit fullscreen mode

Here we convert AddPost model to JsonNode object and add it into our posts

Let's says user about post successfully added into our posts ✨
Just add return statement

  # on POST HTTP method at 127.0.0.1:5000/post/
  post "/post/[postData:AddPost]":
    posts.add(%*{
      "title": postData.title,
      "text": postData.text
    })
    return {"response": {
      "index": posts.len - 1
    }}
Enter fullscreen mode Exit fullscreen mode

You can test it into postman ✌
URL: http://localhost:5000/post/
Method: POST
JSON raw body:

{"title": "Your title", "text": "your text"}
Enter fullscreen mode Exit fullscreen mode

And try to open http://localhost:5000/posts after adding post πŸ‘€

That's all! Good luck ✨

Source code

Top comments (2)

Collapse
 
tinkerbaj profile image
tinkerbaj

Do you have discord server?

Collapse
 
ethosa profile image
Ethosa

nope, only discord profile