trx*_*trx 0 c# asp.net asp.net-mvc asp.net-web-api
我是 .NET /MVC/ Web API 的新手。我创建了一个 .Net Web API,它接受输入参数查询 OracleDatabase 并以 JSON 形式返回结果。几乎遵循简单的 C# 代码。我的控制器看起来像
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;
}
Run Code Online (Sandbox Code Playgroud)
这非常有效。现在客户端应用程序正在请求元数据。因此他们可以从服务中提取元数据。我不确定我们是否可以配置现有的 API 来提供元数据。或者我们必须从头开始平滑
有一些以 NuGet 包形式提供的项目可以帮助您做到这一点。所以没必要从头开始写。
您可以添加 Swagger 来提供 api 的元数据。请参阅https://learn.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger和https://github.com/domaindrivendev/Swashbuckle
使用 Asp.Net Web Api 帮助页面 ( https://www.nuget.org/packages/Microsoft.AspNet.WebApi.HelpPage/ ),您可以使用 https://www.nuget.org/packages/leeksnet 添加 WADL 支持。 AspNet.WebApi.Wadl/
| 归档时间: |
|
| 查看次数: |
4628 次 |
| 最近记录: |