Skip to content

New Lesson: Basic REST API #29090

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 24 commits into
base: main
Choose a base branch
from

Conversation

Lofty-Brambles
Copy link
Contributor

@Lofty-Brambles Lofty-Brambles commented Nov 17, 2024

Because

New lesson on Basic REST APIs. Part of Milestone #2 of the Node Revamp.

This PR

  • Adds a fresh lesson as a part of the Node Revamp Milestone #2.

Issue

Closes #28832

Additional Information

The Markdown Preview tool does not render the nested list under assignments and tables properly. The style for those was copied from other, currently active lessons.

Pull Request Requirements

  • I have thoroughly read and understand The Odin Project curriculum contributing guide
  • The title of this PR follows the location of change: brief description of change format, e.g. Intro to HTML and CSS lesson: Fix link text
  • The Because section summarizes the reason for this PR
  • The This PR section has a bullet point list describing the changes in this PR
  • If this PR addresses an open issue, it is linked in the Issue section
  • If any lesson files are included in this PR, they have been previewed with the Markdown preview tool to ensure it is formatted correctly
  • If any lesson files are included in this PR, they follow the Layout Style Guide

@github-actions github-actions bot added the Content: NodeJS Involves the NodeJS course label Nov 17, 2024
Copy link
Contributor

@Maddily Maddily left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work overall. I suggested a few minor changes to improve the flow and clarity.

Copy link
Contributor

@autotelico autotelico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Went through the article and it's looking great. I've made a few corrections and grammar improvement suggestions.

Copy link
Contributor

@Asartea Asartea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General comment: this lesson uses the term URI 4 times, and URL 9 times. Is there (for the content of this lesson) a meaningful difference expressed with that? Otherwise it should be probably use one of those consistently.

Excluding that and a few minor nits I think overall it looks great

Copy link
Contributor

@Maddily Maddily left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made a few other small tweaks for readability.

@01zulfi 01zulfi added the Project Node Revamp Issues/PRs related to the Node Revamp project label Dec 11, 2024
@Lofty-Brambles Lofty-Brambles requested a review from 01zulfi January 3, 2025 17:35
@Lofty-Brambles
Copy link
Contributor Author

Apologies for the delay. Completely forgot about it.

Copy link
Member

@01zulfi 01zulfi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me 🚀

Copy link
Contributor

@MaoShizhong MaoShizhong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: For consistency with the revamped lessons, instead of "ExpressJS", it should be referred to simply as "Express".

Occurs in text on lines 98, 109 and 110.

@Lofty-Brambles
Copy link
Contributor Author

@MaoShizhong @01zulfi - if it's all right, this should be good to merge?

@01zulfi
Copy link
Member

01zulfi commented Mar 27, 2025

@Lofty-Brambles Yea, everything looks good. I'll merge all the PRs related to the milestone at a later date, most likely together


- [What is CRUD?](https://www.codecademy.com/article/what-is-crud)
- [What are the four main HTTP methods, and how are they used?](#crud-and-http-methods)
- [Which HTTP method corresponds to each action in CRUD (Create, Read, Update, Delete)?](https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/#h-use-nouns-instead-of-verbs-in-endpoint-paths)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the KC question being asked, linking to the appropriate lesson section feels better than linking to an external site.

Suggested change
- [Which HTTP method corresponds to each action in CRUD (Create, Read, Update, Delete)?](https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/#h-use-nouns-instead-of-verbs-in-endpoint-paths)
- [Which HTTP method corresponds to each action in CRUD (Create, Read, Update, Delete)?](#crud-and-http-methods)

@MaoShizhong
Copy link
Contributor

MaoShizhong commented May 11, 2025

I also wonder if this lesson is an appropriate point to drop a quick link to Postman, perhaps at the end of the RESTful APIs section, e.g.

Since JSON is sent in response, it also allows us to use software like Postman to send requests to our API and display the response, all without needing to create a website to do so.

Then it can be re-linked as a reminder in the JWT project (TBD).

I was originally going to use it in the JWT lesson but since we're streamlining the "tutorial", I can't find as good a place for an introductory link there and this lesson seems very appropriate IMO. The JWT lesson feels like a better place to reference Postman as if it's already been introduced.

Thoughts @01zulfi @Lofty-Brambles ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content: NodeJS Involves the NodeJS course Project Node Revamp Issues/PRs related to the Node Revamp project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New Lesson: RESTful APIs
6 participants