Prototype .NET Core API implementation (work in progress)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea/.idea.DotNetCoreApi
.vscode
db
src
test
.editorconfig
.env
.gitattributes
.gitignore
DotNetCoreApi.sln
DotNetCoreApi.sln.DotSettings
docker-compose.yml
features.md
readme.md
stylecop.ruleset

readme.md

dotnetcore-api

Prototype .NET Core API implementation (work in progress).

Check out the API on Azure App Services.

Prerequisites

Running locally

  • git pull git@github.com:robyvandamme/dotnetcore-api.git
  • cd dotnetcore-api
  • docker-compose up -d
  • dotnet restore
  • dotnet run -p src/RestApi/RestApi.csproj --server.urls=http://localhost:8081
  • The API should be available at http://localhost:8081/swagger

Authenticating

  • alice - password
  • bob - password

Dev Dependencies

Technical Features

General

REST API

  • Multiple access levels (admin, public)
  • Configurable CORS
  • Configurable rate-limiting
  • Global exception handling and logging
  • Request logging
  • HTTP caching using both Entity Tags and Response Cache
  • GET, POST, PUT, DELETE, PATCH
  • GET with paging, ordering, searching, filtering and customizable result fields

Testing

  • API integration tests using a strongly typed Autorest API client.
  • Unit tests and integration tests using xUnit

Code Quality

Build and deployment

Continuous integration and delivery to Azure App Services using Visual Studio Team Services.

Integration tests

Generating AutoRest clients

  • npm run gen-public
  • npm run gen-admin