一、前言
(.NET Core新手小白,因为最近项目需求,作为一个新手尝试调用API,虽然官方有开发文档,但是在实践中还是遇到了一些小细节方面的问题,而且Core方面的资料是在是太少,第一次写博客跟大家分享一下使用过程。)
1、本博客主要内容
- .NET Core MVC (Razor)调用百度短文本相似度API
- .NET Core MVC (Razor)调用腾讯短文本相似度API
2.环境
我使用的是(.NET Core 2.2版本)
3、准备工作
1.去百度API官网(https://login.bce.baidu.com/)获取你的API Key、Secret Key
2.腾讯的相对就不用准备那么多。
4.现在分享开始
1.首先我们讲百度,为什么先讲百度,等会你就知道了。
(1)那么刚刚我们已经获取到了百度的API key、Secret key,接下来我们再vs中创建Core项目
( 我创建的是MVC视图和控制器)
(2)第二部我们要对Baidu.AI NuGet包进行安装
(3)接下来在控制器中创建字段,创建返回函数返回json给前端
private string APP_ID = "你的APP_ID ";
private string API_KEY = "你的API_KEY";//你的API_KEY
private string SECRET_KEY = "你的SECRET_KEY";//SECRET_KEY
public JsonResult BaiduAPi(string text1,string text2)//text1,text2是前台传来的匹配值
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//还要引用System.Text.Encoding.CodePages
var client = new Baidu.Aip.Nlp.Nlp(API_KEY, SECRET_KEY);
var result = client.Simnet(text1, text2);
return Json(result);
}
返回的json格式中就包含有相似度了,越接近1就越相似。
(4)这里需要注意的是:在官方文档中并没有 写要用到Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
还要引用System.Text.Encoding.CodePages
如果不加这两个会导致编码报错
以上就是调用API的整个过程,需要注意的点就是
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
还要引用System.Text.Encoding.CodePages
这两个↑↑因为官方没有详细的说,所以对于新手来说就很棘手。
5.接下来就是腾讯的了,腾讯的非常的容易,可以说是傻瓜式,因为非常简单
(1)腾讯目前的短文识别还在公测,公测期间(2019年7月1日至2019年11月1日)是免费使用,根据他的文档就可以轻轻松松的达到目的了,所以这里就不细讲了(看了截图相信你们都会使用(文档链接传送:https://cloud.tencent.com/document/product/271/35506))点开链接
(2)点开链接你就会看到下面截图这么一个界面,跟着操作就完事了
(真香就完事了)
(3)最后把代码放入到自己的项目,需要注意的是,腾讯也需要安装对应的NuGet包,关于安装方法借鉴上面的百度安装NuGet方式即可,名称是TencentCloudSDK。也可以使用工具栏里的NuGet命令窗口输入(dotnet add package TencentCloudSDK --version 3.0.36)进行安装。
需要注意安装的版本为3.0.36以上的版本,可以到NuGet包管理更新管理升级到最新版本。
这是输出的结果
以上就是这次的分享。首次分享有些地方讲得不到位,请多多指教!!!