Skip to content

Instantly share code, notes, and snippets.

@halitbatur
Created December 13, 2023 12:12
Show Gist options
  • Select an option

  • Save halitbatur/d50bd5c96d8d5b84fa3b179f71194131 to your computer and use it in GitHub Desktop.

Select an option

Save halitbatur/d50bd5c96d8d5b84fa3b179f71194131 to your computer and use it in GitHub Desktop.
Rest discussion questions

RESTful API Discussion Questions

  1. What are the HTTP Methods in RESTful API and when would you use each of these?
  2. What does this HTTP Status codes represent?
    • 1xx
    • 2xx
    • 3xx
    • 4xx
    • 5xx
  3. What is the difference between the following response functions?
    • res.send()
    • res.json()
    • res.render()
  4. What are the appropriate status code for the following:
    • Status Code OK
    • Status Code Bad Request
    • Status Code Unauthorized
    • Status Code Forbidden
    • Status Code Not Found
    • Status Code Internal Server Error
@Hayder000

Copy link
Copy Markdown

Team: Hayder, Gorgees, Hassan AbuGareeb, Musab
1.
A. GET: Asking for info from a place, just getting data.

B. HEAD: Asking for info but without all the extra details.

C. POST: Sending something new to a place, usually changes stuff there.

D. PUT: Completely swapping out everything at a place with something new.

E. DELETE: Asking to remove something specific from a place.

F. CONNECT: Making a private tunnel to a specific server.

G. OPTIONS: Checking what you can do at a place, like looking at a menu.

H. TRACE: Sending a message that comes back to check if it's going the right way.

I. PATCH: Making small fixes or changes to just some parts of a thing at a place, not everything.

  1. A. 1xx: Informational response
    B. 2xx: Successful
    C. 3xx: Redirects
    D. 4xx: Client error
    E. 5xx: Server error

  2. A: res.send() is a versatile method that sends various types of HTTP responses, such as strings, HTML, JSON, or buffers.
    B: res.json() specifically sends a JSON response by converting the input into JSON format before sending it.
    C: res.render() is used in templating engines (like Pug, EJS) to render a view template along with data to generate an HTML response to the client.

  3. A: 200
    B: 400
    C: 401
    D: 403
    E: 404
    F: 500

@ramah-madi

ramah-madi commented Dec 14, 2023

Copy link
Copy Markdown

Room 10 -> Abedalrhman Rizk , Ahmad Juma, Hasan Jabaie, Ramah Madi, Lubna Abedelkhaliq.

  1. GET, POST, PUT, DELETE, PATCH
    GET: The method is used for fetching details from the server and is read-only
    POST: Create a new resource on the server.
    PUT: This method is used to update the old/existing resource on the server
    or to replace the resource.
    DELETE: This method is used to delete the resource on the server.
    PATCH: Partially update a resource on the server.

  2. 1xx (Informational): Request received, continuing process.
    Example: 100 Continue, 101 Switching Protocols.

2xx (Success): The action was successfully received, understood, and accepted.
Example: 200 OK, 201 Created, 204 No Content.

3xx (Redirection): Further action needs to be taken to complete the request.
Example: 301 Moved Permanently, 302 Found, 304 Not Modified.

4xx (Client Error): The request contains bad syntax or cannot be fulfilled.
Example: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found.

5xx (Server Error): The server failed to fulfill a valid request.
Example: 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable.

3 .res.send(): Sends a response of various types (string, buffer, JSON, etc.). Express infers the Content-Type.
res.json(): Sends a JSON response. It sets the Content-Type to application/json.
res.render(): Renders a view template. It is often used to render HTML templates using a view engine like EJS or Pug.

  1. Status Code OK (200)
    Status Code Bad Request (400)
    Status Code Unauthorized (401)
    Status Code Forbidden (403)
    Status Code Not Found (404)
    Status Code Internal Server Error (500)

@Dana-MO

Dana-MO commented Dec 14, 2023

Copy link
Copy Markdown

Room 7 Dana Omar - Sanad Alshobaki - Momena Salloum - Farah Alsoqi

Question (01)

  1. POST: Create a new resource on the server.
  2. GET: Retrieve data from the server.
  3. PUT: Update an existing resource on the server. It replaces the entire resource.
  4. DELETE: Delete an existing resource on the server.

Question (02)

1xx Informational responses
2xx Successful responses
3xx Redirects
4xx Client errors
5xx Server errors

Question (03)

res.send(): Sends a basic response with optional status code and message. It can handle various data types like strings, objects, or Buffers.

res.json(): Sends a JSON response. It automatically sets the Content-Type header to application/json and converts the response to a JSON representation.

res.render(): Renders a view template using the specified template engine. It is often used in web frameworks like Express to render dynamic HTML pages using data and templates.

Question (04)

Status Code OK _ 200
Status Code Bad Request _ 400
Status Code Unauthorized _ 401
Status Code Forbidden _ 403
Status Code Not Found _ 404
Status Code Internal Server Error _ 500

@MohamadSheikhAlshabab

MohamadSheikhAlshabab commented Dec 14, 2023

Copy link
Copy Markdown

Team : Room 4

q1- HTTP Methods in RESTful API are POST, GET, PUT, PATCH, and DELETE.
These correspond to create, read, update, and delete (or CRUD) operations, respectively.

q2- 1xx: Informational - Indicates that the request was received and the process is continuing.
2xx: Success - Indicates that the request was successfully received, understood, and accepted.
3xx: Redirection - Indicates further action is needed to complete the request, often involving redirection to a different resource or URL.
4xx: Client Error - Indicates an issue with the client's request, such as a syntax error or unauthorized request.
5xx: Server Error - Indicates an error on the server side while trying to fulfill the client's request, not due to client actions but server issues.


q3- res.send : used to send a variety of HTTP responses, while

res.json : is specifically designed to send JSON responses

Res.render :

  • Primarily used in server-side rendering when working with template engines (like EJS )

  • Useful for generating dynamic HTML content on the server.


q4- HTTP status codes:

Status Code OK (200): Everything's good, your request succeeded.
Status Code Bad Request (400): Your request has errors, the server can't understand it.
Status Code Unauthorized (401): You need to log in or provide credentials.
Status Code Forbidden (403): Access denied, you don't have permission.
Status Code Not Found (404): The requested resource doesn't exist.
Status Code Internal Server Error (500): Something broke on the server's side; it's not your fault.

@JanaAbuHaltam

Copy link
Copy Markdown

Jana AbuHaltam ,Sara Jouma , Abdullah Alawad, Ahmad Mash , Rinad Abu Qauod

Q1 : Use GET for retrieving data without modifying anything.
Use POST for creating new resources.
Use PUT for replacing an entire resource.
Use DELETE for removing a resource.
Use PATCH for making partial updates to a resource.

Q2: 1XX — Informational
2XX — Success
3XX — Redirection
4XX — Client Error
5XX — Server Error

Q3: res.send(): It can send various types of data, including plain text, HTML, or even buffers.
res.json() when you want to send JSON data.
res.render() when you are rendering dynamic HTML pages using a template engine.

Q4: Status Code OK :200
Status Code Bad Request : 400
Status Code Unauthorized :401
Status Code Forbidden :403
Status Code Not Found :404
Status Code Internal Server Error: 500

@fedabaqain

Copy link
Copy Markdown

Team : Feda, Dana, hakeema, Mohmmad
Q1: Post : create , Get : read and retrieve data , put : Update/Replace , patch : Update/Modify delete : delete.
Q2 : 1XX: Information responses(EX: 102 : This code indicates that the server has received and is processing the request, but no response is available yet.

) , 2XX Successful responses , 3XX Redirection messages , 4XX : Client error responses, 5XX : Server error responses

Q3:Res.send(): where the body can be any of the following: Buffer, String, an Object and an Array.
is a general-purpose function for sending various types of responses.

Res.json():It sends a JSON response. This method is identical to res.send() when an object or array is passed, but it also converts non-objects to json., it's also is specifically designed for sending JSON responses.

res.render() is used when you want to render and send HTML views using a template engine.

Q4- 1- 200 , 2- 400 3-401 4 - 403 5-404 6- 500

@MonaAlHajEid

Copy link
Copy Markdown

Team members Names: Muna Al Haj Eid, Jafar Bino, Yara Jaber, Lin dabul.

  1. The main HTTP methods used in RESTful APIs are:
  • GET: Used to retrieve data from a server. GET requests should only retrieve data and not modify it. It's commonly used for fetching information like fetching a specific resource or a collection of resources.
  • POST: Used to send data to the server to create a new resource. POST requests are used for creating new resources on the server. For example, when submitting form data or creating a new record in a database.
  • PUT: Used to update an existing resource or create a resource if it doesn't exist. PUT requests usually require sending the entire resource with the updated data to the server. It replaces the existing resource with the new one provided.
  • PATCH: Similar to PUT, but instead of sending the entire resource, PATCH is used to apply partial modifications to a resource. It's used when you want to update specific fields of an existing resource.
  • DELETE: Used to remove a resource from the server. DELETE requests are used for deleting a specific resource identified by a URL.
  • OPTIONS: Used to describe the communication options for the target resource. It specifies which HTTP methods are allowed for a specific resource.
  • HEAD: Similar to GET but only retrieves the headers of the response without the actual body content. It's used to get metadata about a resource without getting the resource itself, useful for checking the validity or existence of a resource.
    When to use each method:
  • GET: Use when you want to retrieve data from the server.
  • POST: Use when you want to create a new resource on the server.
  • PUT: Use when you want to update an existing resource or create a new resource if it doesn't exist.
  • PATCH: Use when you want to partially update an existing resource.
  • DELETE: Use when you want to remove a resource from the server.
  • OPTIONS: Typically used for discovering what HTTP methods and other options are supported by a web server.
  • HEAD: Use when you need metadata or headers of a resource without fetching the entire content.
  1. Status Codes:
  • 1xx: Informational - Request received, continuing process.
  • 2xx: Success - The action was successfully received, understood, and accepted.
  • 3xx: Redirection - Further action needs to be taken in order to complete the request.
  • 4xx: Client Error - The request contains bad syntax or cannot be fulfilled.
  • 5xx: Server Error - The server failed to fulfill a valid request.
  1. The difference between the response functions
  • res.send() is a method that can sending a response. The method will be like res.send([body]) the body could be:( Buffer, String, Object, Array). this method will automatically sets the Content-Type for ex: passing a string, it will set the Content-Type header to text/html
  • res.json() this method is same as res.send() but it used specifically to sends a JSON response. It sets the Content-Type header to application/json and also it converts non-objects to json.
  • res.render() this methoth is used to render a view and sends the rendered HTML string to the client. It will compile the template, inserts locals there, and creates html output out of those two things.
  1. The appropriate status code:
  • Status Code OK (200)
  • Status Code Bad Request (400)
  • Status Code Unauthorized (401)
  • Status Code Forbidden (403)
  • Status Code Not Found (404)
  • Status Code Internal Server Error (500)

@belalninja

Copy link
Copy Markdown

Room 6: Belal, Mahmoud, Hammam, Baraa.

What are the HTTP Methods in RESTful API and when would you use each of these?

  • GET: Requests a representation of the specified resource. Requests using GET should only retrieve data.
  • HEAD: Asks for a response identical to that of a GET request, but without the response body.
  • POST: Used to submit an entity to the specified resource, often causing a change in state or side effects on the server.
  • PUT: Replaces all current representations of the target resource with the request payload.
  • DELETE: Requests to delete the specified resource.
  • CONNECT: Establishes a tunnel to the server identified by the target resource.
  • OPTIONS: Used to describe the communication options for the target resource.
  • TRACE: Performs a message loop-back test along the path to the target resource.
  • PATCH: Used to apply partial modifications to a resource.

What does this HTTP Status codes represent?

  • 1xx - Informational: The server has received the request and is continuing the process
  • 2xx - Successful: The request was successful and the browser has received the expected information
  • 3xx (Redirection): You have been redirected and the completion of the request requires further action
  • 4xx (Client Error): The website or the page could not be reached, either the page is unavailable or the request contains bad syntax
  • 5xx (Server Error): While the request appears to be valid, the server could not complete the request

What is the difference between the following response functions?

  • res.send(): function basically sends the HTTP response. it accepts a single parameter body. The body parameter can be a String or a Buffer object or an object or an Array. It returns an Object.
  • res.json(): function sends a JSON response. This method sends a response (with the correct content-type) that is the parameter converted to a JSON string using the JSON.stringify() method. (Sends data in JSON format and ends the request.)
  • res.render(): used to render a view and sends the rendered HTML string to the client.

What are the appropriate status code for the following:

  • Status Code OK: 200
  • Status Code Bad Request: 400
  • Status Code Unauthorized: 401
  • Status Code Forbidden: 403
  • Status Code Not Found: 404
  • Status Code Internal Server Error: 500

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment