C# 如何引用已在API级别声明的对象?(asp.net web api)

C# 如何引用已在API级别声明的对象?(asp.net web api),c#,wcf,asp.net-web-api2,C#,Wcf,Asp.net Web Api2,我对asp.net Web API比较陌生。我想知道以下几点:是否有方法引用在API级别声明的对象(客户、学生等) 假设我将从控制台应用程序中使用web api。一旦我像这样调用web api: using(HttpResponseMessage response = ApiHelper.ApiClient.GetAsync(ApiHelper.ApiClient.BaseAddress).Result) { if (response.IsSuccessS

我对asp.net Web API比较陌生。我想知道以下几点:是否有方法引用在API级别声明的对象(客户、学生等)

假设我将从控制台应用程序中使用web api。一旦我像这样调用web api:

using(HttpResponseMessage response = ApiHelper.ApiClient.GetAsync(ApiHelper.ApiClient.BaseAddress).Result)
        {
            if (response.IsSuccessStatusCode)
            {
                List<Student> hello = await response.Content.ReadAsAsync<List<Student>>();

                return hello;
            }
使用(httpresponsemessageresponse=ApiHelper.ApiClient.GetAsync(ApiHelper.ApiClient.BaseAddress).Result)
{
if(响应。IsSuccessStatusCode)
{
List hello=wait response.Content.ReadAsAsync();
回复你好;
}
参考学生的最佳实践是什么,它已经在API级别声明了


与WCF相比,添加服务引用时,您将获得在服务级别声明的对象/实体。asp.net web api中是否有类似的内容?

您可以手动执行:

1) 复制API返回的Json/Xml文本


2) 打开Visual Studio并单击编辑>粘贴特殊>(将XML粘贴为类或粘贴为JSON类)。

我认为,如果Web API是一个外部资源,无法确定库中是否有其他使用该API的项目,则始终在客户端创建模型响应是一个不错的选择


通过这种方式,您将避免使用动态对象,代码也将更具可读性。

如果
Student
是一个由多个应用程序使用的公共类,那么我认为它应该位于两个应用程序引用的类库中。我现在有这样的类库:ClassLibrary>Entities>Student…但我的老板不喜欢这样方式。他与WCF更相关,并且想要类似的东西;比如直接从web api引用对象……在这种情况下,您仍然可以在客户端上使用WCF来使用REST服务。尽管我对WCF及其生成类的方式不太了解。该服务可能需要公开其操作的某种模式,以便使用使用客户端生成代码。默认情况下,ASP.NET WebAPI可能不会公开这些内容,但可能还有其他工具可以提供帮助。@DevNgron您只需教育他。您使用的任何主要API(例如Google、Twilio、AWS),您可以使用它们的程序集,以便引用它们的对象。如果WSDL包含错误,则基于WSDL或其他内容自动生成的代理类可能是一个主要问题。我发现了一个非常好的博客,它基本上声明:(1)您应该创建一个“公共类库”;(2)在那里定义DTO;(3)来自web api和客户端的引用……这里是博客的引用,如果它对任何人都有帮助,这当然是可行的,但这只是维护的噩梦。您使用的服务更改其结果模型的频率有多高?