gpt4 book ai didi

c# - 使用 Swagger 的 Web API

转载 作者:行者123 更新时间:2023-11-30 14:07:29 25 4
gpt4 key购买 nike

我是 .NET/MVC/Web API 的新手。我创建了一个 .Net Web API,它接受输入参数查询 OracleDatabase 并以 JSON 格式返回结果。几乎遵循简单的 C# 代码。它工作得很好。我的 Controller 看起来像

public class DataController : ApiController
{
[HttpGet]
public HttpResponseMessage Getdetails(string ROOM, DateTime DOB_GT)
{
List<OracleParameter> prms = new List<OracleParameter>();
prms.Add(new OracleParameter("ROOM", OracleDbType.Varchar2, ROOM, ParameterDirection.Input));
prms.Add(new OracleParameter("DOB_GT", OracleDbType.Date, DOB_GT, ParameterDirection.Input));
string connStr = ConfigurationManager.ConnectionStrings["SDataBaseConnection"].ConnectionString;
using (OracleConnection dbconn = new OracleConnection(connStr))
{
DataSet userDataset = new DataSet();
var strQuery = "SELECT * from SAMPLE_RESULTS_VW where ROOM = :ROOM and DOB > :DOB_GT ";
var returnObject = new { data = new OracleDataTableJsonResponse(connStr, strQuery, prms.ToArray()) };
var response = Request.CreateResponse(HttpStatusCode.OK, returnObject, MediaTypeHeaderValue.Parse("application/json"));
ContentDispositionHeaderValue contentDisposition = null;
if (ContentDispositionHeaderValue.TryParse("inline; filename=TGSData.json", out contentDisposition))
{
response.Content.Headers.ContentDisposition = contentDisposition;
}
return response;
}

但此 Web API 不能被客户端应用程序用作 Visual Studio 中的添加服务引用。所以我尝试使用 Swagger,我安装了它们。我正在获取 Swagger 页面并能够通过提供查询输入来测试 API,它确实返回结果。 enter image description here

我不明白我们将为客户提供的端点 URL 是什么,用于从 API 获取元数据。或者我是否做了任何进一步的配置来生成元数据。我是 .NET 的新手并且被困住了。

最佳答案

如果您使用的是 MVC,我不确定您所说的客户端是什么意思。

您有两个应用程序: a) 前端 .NET 应用 b) 与数据库对话的后端 .NET 应用程序?

两个 .NET 应用

checkout Get started with API Apps, ASP.NET, and Swagger in Azure App Service (它与 Azure 无关)。

本教程描述了一个设置,其中有 .NET 应用程序,中间的应用程序导入一个 swagger"file"以使用与数据库对话的后端应用程序的 API。 enter image description here

根据我的经验,这种设置很浪费,但我不知道您的需求是什么。

一个 .NET 应用

如果您只有一个 MVC 应用程序,那么实际上就没有客户端。

这可能有用: Create an ASP.NET MVC app with auth and SQL DB and deploy to Azure App Service

关于c# - 使用 Swagger 的 Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40667649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com