{"id":19022705,"url":"https://github.com/quintuslabs/railsrestapi","last_synced_at":"2026-05-13T21:35:38.373Z","repository":{"id":123753191,"uuid":"171076162","full_name":"quintuslabs/RailsRestApi","owner":"quintuslabs","description":"This is a simple RubyOnRails Project for rest rest api ","archived":false,"fork":false,"pushed_at":"2019-02-17T04:23:26.000Z","size":1022,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-21T18:41:47.273Z","etag":null,"topics":["rails-api","ruby","ruby-on-rails"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quintuslabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-17T03:05:12.000Z","updated_at":"2020-04-16T20:28:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"7ae1d3ab-3110-479a-bb5e-36fc1c773cc1","html_url":"https://github.com/quintuslabs/RailsRestApi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/quintuslabs/RailsRestApi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quintuslabs%2FRailsRestApi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quintuslabs%2FRailsRestApi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quintuslabs%2FRailsRestApi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quintuslabs%2FRailsRestApi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quintuslabs","download_url":"https://codeload.github.com/quintuslabs/RailsRestApi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quintuslabs%2FRailsRestApi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33001277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rails-api","ruby","ruby-on-rails"],"created_at":"2024-11-08T20:27:17.781Z","updated_at":"2026-05-13T21:35:38.358Z","avatar_url":"https://github.com/quintuslabs.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\n\nThis README would normally document whatever steps are necessary to get the\napplication up and running.\n\nThings you may want to cover:\n\n* Ruby version = ruby-2.6.0\n\n* System dependencies\n\n* Configuration\n\n* Database creation\n\n* Database initialization\n\n* How to run the test suite\n\n* Services (job queues, cache servers, search engines, etc.)\n\n* Deployment instructions\n\n* ...\n\n\nFollowing are the list of things should be considered while building a REST api.\n\n» HTTP Methods\n\nA well-designed RESTful API should support most commonly used HTTP methods (GET, POST, PUT and DELETE). There are other HTTP methods like OPTIONS, HEAD but these are used most often. Each method should be used depending on the type of operation you are performing.\n\nGET \tTo fetch a resource\n\nPOST \tTo create a new resource\n\nPUT \tTo update existing resource\n\nDELETE \tTo delete a resource\n\n» HTTP Status Code\n\nHTTP status codes in the response body tells client application what action should be taken with the response. For an example if the response code 200, it means on the server side the request is processed successfully and you can expect updated data in the response. As well if the status code is 401, the request is not authorized. An example cause for 401 could be api key is invalid.\n\n\nIt is not necessary to support all HTTP status codes, but supporting at least the following codes should be good enough. Check out list of http codes from restapitutorial.com and Wikipedia\n\n200 \tOK\n\n201 \tCreated\n\n304 \tNot Modified\n\n400 \tBad Request\n\n401 \tUnauthorized\n\n403 \tForbidden\n\n404 \tNot Found\n\n422 \tUnprocessable Entity\n\n500 \tInternal Server Error\n\n» URL Structure\n\nIn REST design the URL endpoints should be well formed and should be easily understandable. Every URL for a resource should be uniquely identified. If your API needs an API key to access, the api key should be kept in HTTP headers instead of including it in URL.\n\nFor an example:\n\nGET http://abc.com/v1/movies/11 – Will give the details of a movie whose id is 11\n\nPOST http://abc.com/v1/movies – Will create a new movie record\n\n» API Versioning\n\nThere is a huge discussion on API versioning whether to maintain api version in the URL or in the HTTP request headers. Even though it is recommended that version should be included in the request headers, I feel comfortable to maintain it in the URL itself as it is very convenient on the client side to migrate from one version to another.\n\nExample:\n\nhttp://abc.com/v1/movies\n\nhttp://abc.com/v2/movies\n\n» Content Type\n\nThe Content Type in HTTP headers specifies the kind of the data should be transferred between server and client. Depending upon the data your API supporting you need to set the content type.\n\nFor an example, JSON Mime type should be Content-Type: application/json, for XML Content-Type: application/xml. You can find list of supported MIME Types\n\nAPI Url Structure\n\n|URL|  Method | Parameters  | Description  |\n|---|---|---|---|\n|  /movies| GET  |   |   Fetching all Movies |\n|  /movies  |  POST |  title, description, gener, year  |  create new record |\n|  /movies/:id | GET  |   |   Fetching single Movie |\n|  /movies/:id  | PUT  |   |  \tUpdating single Movie |\n|  /movies/:id  | DELETE  |  movie |  \tstatus \tDeleting single Movie |\n \n \n \u003cimg src=\"screen/screen1.png\" alt=\"Screen1\" \u003e \n \n  \u003cimg src=\"screen/screen2.png\" alt=\"Screen2\" \u003e \n  \n   \u003cimg src=\"screen/screen3.png\" alt=\"Screen3\" \u003e \n \n  \u003cimg src=\"screen/screen4.png\" alt=\"Screen4\" \u003e \n \n  \u003cimg src=\"screen/screen5.png\" alt=\"Screen5\" \u003e \n \n \n \n \n \n \n \n \n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquintuslabs%2Frailsrestapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquintuslabs%2Frailsrestapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquintuslabs%2Frailsrestapi/lists"}