{"id":13429532,"url":"https://github.com/OData/RESTier","last_synced_at":"2025-03-16T03:31:51.942Z","repository":{"id":21262131,"uuid":"24577772","full_name":"OData/RESTier","owner":"OData","description":"A turn-key library for building RESTful services","archived":false,"fork":false,"pushed_at":"2024-11-24T20:55:08.000Z","size":55890,"stargazers_count":474,"open_issues_count":31,"forks_count":136,"subscribers_count":89,"default_branch":"main","last_synced_at":"2024-11-24T21:30:59.026Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://odata.github.io/RESTier","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OData.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"docs/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-09-29T02:54:06.000Z","updated_at":"2024-11-24T20:55:12.000Z","dependencies_parsed_at":"2023-01-12T03:45:29.118Z","dependency_job_id":"c96f624e-cc11-4b56-8015-9df833111b60","html_url":"https://github.com/OData/RESTier","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OData%2FRESTier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OData%2FRESTier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OData%2FRESTier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OData%2FRESTier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OData","download_url":"https://codeload.github.com/OData/RESTier/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243822309,"owners_count":20353496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-07-31T02:00:41.365Z","updated_at":"2025-03-16T03:31:51.029Z","avatar_url":"https://github.com/OData.png","language":"C#","funding_links":[],"categories":["Frameworks, Libraries and Tools","框架, 库和工具"],"sub_categories":["API"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003eMicrosoft Restier - OData Made Simple\u003c/h1\u003e\n\n[Releases](https://github.com/OData/RESTier/releases)\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;Documentation\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;[OData v4.01 Documentation](https://www.odata.org/documentation/)\n\n[![Build Status][devops-build-img]][devops-build] [![Release Status][devops-release-img]][devops-release] \u003cbr /\u003e\n[![Code of Conduct][code-of-conduct-img]][code-of-conduct] [![Twitter][twitter-img]][twitter-intent]\n\n\u003c/div\u003e\n\n## What is Restier?\n\nRestier is an API development framework for building standardized, OData V4 based RESTful services on .NET. \n\nRestier is the spiritual successor to [WCF Data Services](https://en.wikipedia.org/wiki/WCF_Data_Services). Instead of \ngenerating endless boilerplate code with the current Web API + OData toolchain, RESTier helps you boostrap a standardized, \nqueryable HTTP-based REST interface in literally minutes. And that's just the beginning.\n\nLike WCF Data Services before it, Restier provides simple and straightforward ways to shape queries and intercept submissions\n_before_ and _after_ they hit the database. And like Web API + OData, you still have the flexibility to add your own\ncustom queries and actions with techniques you're already familiar with.\n\n## What is OData?\n\nOData stands for the Open Data Protocol. OData enables the creation and consumption of RESTful APIs, which allow \nresources, defined in a data model and identified by using URLs, to be published and edited by Web clients using \nsimple HTTP requests.\n\nOData was originally designed by Microsoft to be a framework for exposing Entity Framework objects over REST services.\nThe first concepts shipped as \"Project Astoria\" in 2007. By 2009, the concept had evolved enough for Microsoft to\nannounce OData, along with a [larger effort](https://blogs.msdn.microsoft.com/odatateam/2009/11/17/breaking-down-data-silos-the-open-data-protocol-odata/)\nto push the format as an industry standard.\n\nWork on the current version of the protocol (V4) began in April 2012, and was ratified by OASIS as an industry standard in Feb 2014.\n\n## Getting Started\n1. Create an ASP.NET Classic or ASP.NET Core web project.\n2. Add the corresponding Restier package for the flavor of ASP.NET you're targeting: `Microsoft.Restier.AspNet` or `Microsoft.Restier.AspNetCore`.\n3. Add thhe corresponding Restier package for the flavor of Entity Framework you are targering: `Microsoft.Restier.EntityFramework` or `Microsoft.Restier.EntityFrameworkCore`\n4. Review the [ASP.NET Classic](https://github.com/OData/RESTier/tree/main/src/Microsoft.Restier.Samples.Northwind.AspNet) or [ASP.NET Core](https://github.com/OData/RESTier/tree/main/src/Microsoft.Restier.Samples.Northwind.AspNetCore) samples to help you get started.\n\n## Use Cases\nComing Soon!\n\n## Supported Platforms\nRestier 1.1 currently supports the following platforms:\n- Classic ASP.NET 5.2.7 and later\n- ASP.NET Core 6.0, 7.0, and 8.0 (Binaries targeting deprecated versions of .NET are still available on NuGet.org)\n- Entity Framework 6.4 and later\n- Entity Framework Core 6.0 and later\n\n## Restier Components\nRestier is made up of the following components:\n- **Microsoft.Restier.AspNet \u0026 Microsoft.Restier.AspNetCore:** Plugs into the OData/WebApi processing pipeline and provides query interception capabilities.\n- **Microsoft.Restier.Core:** The base library that contains the core convention-based interception framework.\n- **Microsoft.Restier.EntityFramework \u0026 Microsoft.Restier.EntityFramework:** Translates intercepted queries down to the database level to be executed.\n- **Microsoft.Restier.Breakdance:** Unit test Restier services and components in-memory without spinning up a separate IIS instance, as well as verify the availability of your custom convention-based interceptors.\n- **Microsoft.Restier.AspNetCore.Swagger:** Automatically generates Swagger documentation for your ASP.NET Core Restier service.\n\n## Ecosystem\nRestier is used in solutions from:\n- [BurnRate.io](https://burnrate.io)\n- [CloudNimble](https://nimbleapps.cloud)\n- [Florida Agency for Health Care Administration](https://ahca.myflorida.com)\n- [Microsoft](https://graph.microsoft.com)\n- [Miller's Ale House](https://millersalehouse.com)\n- [NoCore](https://nocore.nl)\n\n## Community\nAfter a couple years in statis, Restier is in active development once again. The project is lead by Robert McLaws and Mike Pizzo.\n\n### Contributing\nIf you'd like to help out with the project, our Contributor's Handbook is also located in the Wiki.\n\n### Reporting Security Issues\n\nSecurity issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) \u003csecure@microsoft.com\u003e. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the [Security TechCenter](https://www.microsoft.com/msrc/faqs-report-an-issue). You can also find these instructions in this repo's [SECURITY.md](./SECURITY.md).\n\n## Contributors\n\nSpecial thanks to everyone involved in making Restier the best API development platform for .NET. The following people\nhave made various contributions to the codebase:\n\n| Microsoft     | External         |\n|---------------|------------------|\n| Lewis Cheng   | James Caldwell   |\n| Challen H     | Angel Garay      |\n| Eric Erhardt  | Cengiz Ilerler   |\n| Vincent He    | Kemal M          |\n| Dong Liu      | Mateusz Malicki  |\n| Layla Liu     | Robert McLaws    |\n| Fan Ouyang    | Micah Rairdon    |\n| Mike Pizzo    | Jan-Willem Spuij |\n| Congyong S    | Chris Woodruff   |\n| Mark Stafford |                  |\n| Ray Yao       |                  |\n\n## \n\n\u003c!--\nLink References\n--\u003e\n\n[devops-build]:https://dev.azure.com/dotnet/OData/_build?definitionId=89\n[devops-release]:https://dev.azure.com/dotnet/odata/_release?view=all\u0026definitionId=2\n[twitter-intent]:https://twitter.com/intent/tweet?url=https%3A%2F%2Fgithub.com%2FOData%2FRESTier\u0026via=robertmclaws\u0026text=Check%20out%20Restier%21%20It%27s%20the%20simple%2C%20queryable%20framework%20for%20building%20data-driven%20APIs%20in%20.NET%21\u0026hashtags=odata\n[code-of-conduct]:https://opensource.microsoft.com/codeofconduct/\n\n[devops-build-img]:https://img.shields.io/azure-devops/build/dotnet/odata/89.svg?style=for-the-badge\u0026logo=azuredevops\n[devops-release-img]:https://img.shields.io/azure-devops/release/dotnet/f69f4a5b-2486-494e-ad83-7ba2b889f752/2/2.svg?style=for-the-badge\u0026logo=azuredevops\n[nightly-feed-img]:https://img.shields.io/badge/continuous%20integration-feed-0495dc.svg?style=for-the-badge\u0026logo=nuget\u0026logoColor=fff\n[github-version-img]:https://img.shields.io/github/release/ryanoasis/nerd-fonts.svg?style=for-the-badge\n[gitter-img]:https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=for-the-badge\n[code-climate-img]:https://img.shields.io/codeclimate/issues/github/ryanoasis/nerd-fonts.svg?style=for-the-badge\n[code-of-conduct-img]: https://img.shields.io/badge/code%20of-conduct-00a1f1.svg?style=for-the-badge\u0026logo=windows\n[twitter-img]:https://img.shields.io/badge/share-on%20twitter-55acee.svg?style=for-the-badge\u0026logo=twitter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOData%2FRESTier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOData%2FRESTier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOData%2FRESTier/lists"}