Git Product home page Git Product logo

blackslope.net's Issues

Validator mismatch

The PUT request for movies currently returns an error which describes the title field when the description is invalid.

Also, much of the seed data in the DB has descriptions which exceed the PUT endpoint's description length limits.

Sample Payload

{
  "id":1,
  "title":"The Shawshank Redemption",
  "description":"Lorem ipsum dolor sit amet, ut consul soluta persius quo, et eam mundi scribentur, eros invidunt dissentias no eum.",
  "releaseDate":"2019-01-14"
}

Sample response:

{
  "data": {
    "id": 1,
    "movie": {
      "id": 1,
      "title": "The Shawshank Redemption",
      "description": "Lorem ipsum dolor sit amet, ut consul soluta persius quo, et eam mundi scribentur, eros invidunt dissentias no eum.",
      "releaseDate": "2019-01-14T00:00:00"
    }
  },
  "errors": [{
    "code": 40005,
    "message": "Movie Title should be between 2 and 50 characters"
  }]
}

Multiple Reusable Api Hosts

Can we create a NuGet package for the reusable api host code? If I wanted to create multiple api hosts I would be duplicating a lot of the common code. Perhaps an official Slalom.BlackSlope.Api.Core could solve this. If the Api layer was really thin maybe only specifying operations, models, mappers and validated and then all the other common code could go into NuGet package. Common could should be open source too so that it can be contributed to, a new repo will be required. Perhaps we could get. GitHub Project called BlackSlope and then have multiple repos to support Api and NuGet package code.

ReadMe File Needs Updating

File is no longer accurate.

Mentions Host.Ap which does not exist
Should mention to naviagate to /src folder to execute dotnet commands
Should mention how to setup the database
Should mention how to run the docker file

Extract Common Library into Independent Nuget Package

We need to extract out the Common library into a standalone package.

The idea being that this is a stepping stone to more dynamic configuration within Blackslope. Once we've spun the Common package out we can begin extracting subsets of functionality from it into their own Nuget packages.

Ultimately, we can use this structure to extract out "opinionated" tooling from our Common package until only the most basic functionality resides (or the Common project is deprecated/absorbed entirely). These opinionated packages can then be plug-and-played into the Blackslope project for rapid configuration/deploy.

e.g. - a package for Serilog vs Nlog, etc.

This will cause breakages, notably in the VersionService.

Request/response bodies

The top-level names/objects on the bodies seem a bit repetitive since the request is made against the resource of that name already. It seems like a natural assumption that the response of GET /movies/{id} would be a movie.

This nesting also requires any corresponding UI to access a property on the response object before deserializing, rather than doing so immediately. This is a pretty minor inconvenience, but it would still be nice to have updated.

GET /movies/{id}

{
  "movie": {
    "id": "string",
    "title": "string",
    "description": "string"
  }
}

POST /movies

{
  "movie": {
    "title": "string",
    "description": "string"
  }
}

Fix HandleErrorResponse

Currently, errors are missing at the time the Error response being generated at HandleErrorResponse handler.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.