This repository has been archived by the owner. It is now read-only.

KodKod 2.1.0
  

Closed Updated Dec 13, 2018

2 Design

3 Ready

0 Working

9 Done

This project doesn’t have any columns or cards.

Menu

KodKod 2.1.0 #5

  
Updated Dec 13, 2018
In addition to being a cute little kitty, KodKod is an intiative to make MVC into a opionated, forward-thinking, batteries included framework for HTTP APIs.

What is it?

In addition to being a cute little kitty, KodKod is an intiative to make MVC into a opionated, forward-thinking, batteries included framework for HTTP APIs.

This process is going to be incremental and we will focus on clusters of improvements for each release. We're not going to try and 'boil the ocean' nor will we remove the flexibility that our users enjoy today.

Current Focus

For 2.1.0 we're going to make some improvements in the following areas.

Better Error Reporting We're adding support for RFC 7807 - a way to describe a 'problem' as our standard response schema. We create responses with this structure where the framework returns 400s.

Better Input Processing We want the experience around invalid input to be more automatic and more consistent. More concretely we're going to create a programming model where your action code isn't called when a request has validation errors. We're also going to improve the fidelity of error responses when the request body fails to deserialize (invalid JSON for example).

Lastly we plan to enable placing validation attributes directly on action parameters. This is a long-standing limitation of MVC that has no good reason to exist.

Enhanced API Controller Conventions We are adding [ApiController] attribute as the way to opt-in to new API specific conventions and behaviors that are tuned around best practices for APIs.

This will include:

  • Automatically responding with a 400 when validation errors occur (using https://tools.ietf.org/html/rfc7807)
  • Infer smarter defaults for action parameters ([FromBody] for complex types, [FromRoute] when possible, otherwise [FromQuery])

Better Swagger by Default We want to embrace Swagger/OpenAPI and build a better experience for APIs written with the standard MVC idioms. Today we require a lot of attribute soup to get a result close to useful from swagger. We plan to introduce an opinionated layer that infers the possible responses based on what you're likely to have done with your actions (tuning with attributes still wins if you do that).

This builds on top of the enhancements above, many of these (like ActionResult<T>) can provide better documentation.

Integrate Build-Time Swagger and Client Code Generation

We want to provide an experience as part of the template and potentially the Web SDK for doing build-time swagger generation and also build-time client code generation.

Activity

    Loading activity

Archived cards

Loading archived cards…