我們目前在Oracle數據庫中有一個視圖。我們需要創建一個Web API來接受輸入參數並查詢Oracle DB中的視圖並以JSON格式返回響應。我是ASP.NET和Web服務的新手。下面是服務使用查詢參數查詢Oracle數據庫Web API
namespace TGSSample.Controllers
{
public class TGSSampDataController : ApiController
{
public HttpResponseMessage Getdetails([FromUri] string id)
{
List<OracleParameter> prms = new List<OracleParameter>();
List<string> selectionStrings = new List<string>();
string connStr = ConfigurationManager.ConnectionStrings["TGSDataConnection"].ConnectionString;
using (OracleConnection dbconn = new OracleConnection(connStr))
{
DataSet userDataset = new DataSet();
var strQuery = "SELECT * from LIMS_SAMPLE_RESULTS_VW where JRS_NO =" + id;
var returnObject = new { data = new OracleDataTableJsonResponses(connStr, strQuery, prms.ToArray()) };
var response = Request.CreateResponse(HttpStatusCode.OK, returnObject, MediaTypeHeaderValue.Parse("application/json"));
ContentDispositionHeaderValue contentDisposition = null;
if (ContentDispositionHeaderValue.TryParse("inline; filename=ProvantisStudyData.json", out contentDisposition))
{
response.Content.Headers.ContentDisposition = contentDisposition;
}
return response;
}
}
我試圖調試,並在我給喜歡http://localhost:6897/api/TGSSampData?id=379的URL的代碼,但它拋出喜歡在這裏輸入的形象描述 我沒有改變任何東西與RouteConfig.cs或WebApiConfig錯誤的.cs。
namespace TGSSample
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
); }}}
我不知道爲什麼我得到錯誤。我已經改變任何東西,或不renamed.Can請人幫我這個
你的錯誤消息說你嘗試過'/ api/TGSData'而不是'/ api/TGSSampData' - 這可能是問題嗎? – Beno
show webapiconfig – Nkosi
在你的路徑/ api/TGSData上找不到控制器,這就是錯誤對你說的。此外,您在構建查詢時遇到錯誤。你的ID應該在'',但更好的使用OracleCommandParameters! – mybirthname