首页 > 解决方案 > 在 ASP.NET Core Web 应用程序中使用 REST API

问题描述

我正在尝试在 ASP.NET Core 中使用 REST API。我可以用“Hello”做一个简单的检查来检查服务是否存在!但是当我尝试使用 Getgene 时,我遇到了问题。

我想知道我是否需要在类模型中定义所有变量?以及如何对此进行查看以将{gene_query}用户传递给 API?

如果您能帮助我了解 API 的初学者,我将不胜感激。

这是 rest_VariantValidator :https ://rest.variantvalidator.org/ 我正在尝试使用基因查询输入实现 VariantValidator get 方法。

VariantValidatorController.cs

 public class VariantValidatorController : Controller
    {
        public async Task<IActionResult> Index()
        {
            List<VariantValidator> validators = new List<VariantValidator>();
            using (var httpclient = new HttpClient())
            {
                using (var response = await httpclient.GetAsync("https://rest.variantvalidator.org/hello/"))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();
                    var values = JsonConvert.DeserializeObject<Dictionary<string, string>>(apiResponse);
                
                }
            }
            return View();
        }


        [HttpPost]
        public async Task<IActionResult> Getgene(string gene_query)
        {
            using (var httpclient = new HttpClient())
            {
                using (var response = await httpclient.GetAsync("https://rest.variantvalidator.org/VariantValidator/variantvalidator/" + gene_query ))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();
                    var values = JsonConvert.DeserializeObject<Dictionary<string, string>>(apiResponse);

                }
            }
            return View(values);
        }
    }
}

VariantValidator.cs

  public  class VariantValidator
    {
        public string seqrepo_db { get; set; }
        public string uta_schema { get; set; }
        public string variantvalidator_hgvs_version { get; set; }
        public string variantvalidator_version { get; set; }
        public string alt_genomic_loci { get; set; }
        public string gene_ids { get; set; }
        public string gene_symbol { get; set; }
        public string genome_context_intronic_sequence { get; set; }
        public string hgvs_lrg_transcript_variant { get; set; }
        public string hgvs_lrg_variant { get; set; }
        public string hgvs_predicted_protein_consequence { get; set; }
        public string slr { get; set; }
        public string tlr { get; set; }
        public string hgvs_refseqgene_variant { get; set; }
        public string hgvs_transcript_variant { get; set; }
        public string primary_assembly_loci { get; set; }
        public string reference_sequence_records { get; set; }
        public string refseqgene_context_intronic_sequence { get; set; }
        public string submitted_variant { get; set; }
        public string transcript_description { get; set; }
        public string validation_warnings { get; set; }
       
    }

标签: c#apiasp.net-coreswagger

解决方案


学习 api https://rest.variantvalidator.orgapiResponse ,在将其反序列化为字典之前请参阅。


推荐阅读