c# - 在 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; }
}
解决方案
学习 api https://rest.variantvalidator.orgapiResponse
,在将其反序列化为字典之前请参阅。
推荐阅读
- python - django 的 Azure SQL 数据库连接错误
- sql - db2 表中的 join 语句
- python - Python 多维列表初始化 ...或纯 Python 等价于 numpy.zero
- snowflake-cloud-data-platform - 从 AWS S3 加载到 Snowflake 时从 ETC 转换为 UTC 时区
- javascript - Electron JS 高效地监视大量文件
- python - Glue ETL:如何使用 AWS 管理控制台将配置文件引用为额外文件?
- spring-boot - 使用 Spring Data 需要基于外键和 Order BY 值的不同记录
- javascript - 安装 webview2 后,Outlook 客户端中的 Office Web 插件卡在加载屏幕上,但在浏览器中运行良好
- git - azure devops git 错误:'致命:'testpr' 似乎不是 git 存储库,无法从远程读取。' 在 devops 中使用 git-request-pull 时
- java - 线程“主”java.lang.NoSuchMethodError 中的异常:执行 ServerBuilder.forPort(50051) 时