GithubHelp home page GithubHelp logo

fabiangosebrink / aspnetcore-webapi-sample Goto Github PK

View Code? Open in Web Editor NEW
563.0 28.0 340.0 3.53 MB

This is a sample ASP.NET Core WebAPI

Home Page: http://offering.solutions/blog/articles/2016/07/29/how-to-create-an-asp-net-core-webapi/

C# 100.00%
aspnetcore asp-net-core webapi-sample webapi

aspnetcore-webapi-sample's Introduction

ASP.NET Core WebApi Sample with HATEOAS, Versioning & Swagger

In this repository I want to give a plain starting point at how to build a WebAPI with ASP.NET Core.

This repository contains a controller which is dealing with FoodItems. You can GET/POST/PUT/PATCH and DELETE them.

Hope this helps.

See the examples here:

Versions

http://localhost:29435/swagger

ASPNETCOREWebAPIVersions

GET all Foods

http://localhost:29435/api/v1/foods

ASPNETCOREWebAPIGET

GET single food

http://localhost:29435/api/v1/foods/2

ASPNETCOREWebAPIGET

POST a foodItem

http://localhost:29435/api/v1/foods

  {
      "name": "Lasagne",
      "type": "Main",
      "calories": 3000,
      "created": "2017-09-16T17:50:08.1510899+02:00"
  }

ASPNETCOREWebAPIGET

PUT a foodItem

http://localhost:29435/api/v1/foods/5

{
    "name": "Lasagne2",
    "type": "Main",
    "calories": 3000,
    "created": "2017-09-16T17:50:08.1510899+02:00"
}

ASPNETCOREWebAPIGET

PATCH a foodItem

http://localhost:29435/api/v1/foods/5

[
  { "op": "replace", "path": "/name", "value": "mynewname" }
]

ASPNETCOREWebAPIGET

DELETE a foodItem

http://localhost:29435/api/v1/foods/5

ASPNETCOREWebAPIGET

aspnetcore-webapi-sample's People

Contributors

fabiangosebrink avatar gurpinderjitsingh avatar ngothiensinh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aspnetcore-webapi-sample's Issues

Unable to capture request response

Your read me is very confusing and not guiding with the steps to follow.
I run the solution from VS 2017 and kept postman open as instructed but no action.

runtime error

An unhandled exception occurred while processing the request.
InvalidOperationException: The constraint reference 'string' could not be resolved to a type. Register the constraint type with 'Microsoft.AspNetCore.Routing.RouteOptions.ConstraintMap'.
Microsoft.AspNetCore.Routing.DefaultParameterPolicyFactory.Create(RoutePatternParameterPart parameter, string inlineText)

Improve Method Naming for Clarity in `/api/v1/foods/{id} ` Endpoint

Issue Description

Problem:

In the /api/v1/foods/{id} endpoint, we currently have methods with similar names (GET, PUT, DELETE, PATCH) which can be confusing for developers, especially those who are new to developing .NET Web APIs. Clarity in method naming is essential for enhancing the project's accessibility and learning experience.

Proposal:

I propose to improve the method names in the /api/v1/foods/{id} endpoint to make them more understandable and tailored towards the action being performed. This will not only enhance the project's usability but also provide a more educational experience for developers who are new to .NET Web API development.

Action Plan:

I will work on renaming the methods in the /api/v1/foods/{id} endpoint as follows:

Change GET to GetFoodById
Change PUT to UpdateFood
Change DELETE to DeleteFood
Change PATCH to ModifyFood

These changes will align with RESTful API conventions and provide a clear and intuitive understanding of each method's purpose.

Benefits:

  • Improved clarity in method names.
  • Enhanced learning experience for newcomers to .NET Web API development.
  • Better alignment with RESTful API conventions.

Permission Request:

I kindly request permission to work on this issue and make the proposed changes. I believe that this enhancement will benefit both the project and the community of developers using it.

foodRepository variable in StartUp.cs

Why are you creating but not using this variable?

123 var foodRepository = app.ApplicationServices.GetRequiredService<IFoodRepository>();

Awesome work, thanks for sharing!

Entity Framework. Save question

Hi, I have a little question. You have the Save method in the FoodSqlRepository class. However, this method always return positive number from 0, because the returned number is the number of state entries written to the database.
In which cases can the returned number be negative?
public class FoodSqlRepository : IFoodRepository
{
        // your code

        public bool Save()
        {
            return (_foodDbContext.SaveChanges() >= 0);
        }
}

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.