/dotnetcore-api

Prototype .NET Core API implementation (work in progress)

Primary LanguageJavaScript

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