【问题标题】:How to create model based REST API endpoints in asp.net core?如何在 asp.net 核心中创建基于模型的 REST API 端点?
【发布时间】:2020-05-16 14:19:52
【问题描述】:

我正在寻找一种基于模型制作 REST API 端点的方法,我知道这在 Django 中是可能的。但是我在asp.net core中没有找到类似的方法,有没有这个平台的框架可以提供这个功能?

当您使用 djangorestframework 时,它在 django 中的工作原理:

定义模型,自动迁移所有内容:

from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

该模型用于创建端点。序列化程序决定显示哪些字段:

class PersonSerializer(serializers.ModelSerializer):
    class Meta:
        model = Person
        exclude = ()

ORM 查询的视图集:

class PersonViewSet(viewsets.ModelViewSet):
    queryset = Person.objects.all()
    serializer_class = PersonSerializer

还有一些路由映射:

router = DefaultRouter()
router.register(r'persons', PersonViewSet)

urlpatterns = [
    path('', include(router.urls)),
]

现在我有一个 API 可以

  1. GET /person - 列出所有人员
  2. GET /person/1 - 提供特定人员的详细信息
  3. POST /person - 创建一个人
  4. PUT /person/1 - 更新一个人
  5. DELETE /person/1 - 删除一个人

asp.net core 有类似的吗?

【问题讨论】:

  • 嗯,很有趣。我会继续关注这个:)

标签: asp.net-core


【解决方案1】:

【讨论】:

  • 是的,但是没有框架或类似的框架可以完全像开箱即用一样吗?我是自己建造的,但我在想“肯定有人这样做了”,但似乎并非如此。
  • 不幸的是,我不知道。生成控制器可能太容易了:)。
  • @user7217806 为什么我们不把所有的东西都写在汇编中,我的意思是,如果你仔细想想,一切都太容易了,对吧?
  • @Sem 请注意笑脸,我当然不是认真对待这个声明。
  • 接受了这个作为答案,我基本上制作了自己的框架来促进这一点,在上述信息的帮助下,请参阅:github.com/oxidda/leatherback
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 1970-01-01
  • 2016-12-14
  • 2019-11-30
  • 1970-01-01
  • 2013-09-07
相关资源
最近更新 更多