前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VB.NET 创建ASP.NET WebAPI及应用(一)

VB.NET 创建ASP.NET WebAPI及应用(一)

作者头像
办公魔盒
发布于 2021-12-06 08:02:52
发布于 2021-12-06 08:02:52
3.7K10
代码可运行
举报
文章被收录于专栏:办公魔盒办公魔盒
运行总次数:0
代码可运行

什么是API?

应用程序接口(API,Application Programming Interface)是基于编程语言构建的结构,使开发人员更容易地创建复杂的功能。它们抽象了复杂的代码,并提供一些简单的接口规则直接使用。

为什么要用API?

第一,它使用HTTP协议,可以很好的兼容其他语言,B4A,JS,PHP,JAVA,VBA,VB6等等;

第二,它可以很好的保护我们的隐私,当我们用VBA,VB6等语言访问数据库时,一般都是直接使用驱动TCP连接,然后,数据库密码账号等敏感信息都保存在代码里面,很容易就被人破解拿走;

第三,它可以把我们的业务逻辑很好的隐藏起来,用户只要传入参数,获取数据即可,根本不知道我们是如何逻辑取得数据;

在我看来,上面这几点就是促使我去使用WebAPI,个人观点哈!(大佬先靠边站哈,让我先装一会)

好了,开启今日的主题!!!!!!!!怎么用VB.NET 创建WebAPI服务

一,打开我们的

VS死丢丢,创建一个ASP.NET项目

二,精简APS.NET程序(这里只说WebAPI哈,其他的东西砍掉)

2.1 要砍掉的目录如下:

  • Areas
  • Content
  • fonts
  • Scripts
  • Views

2.1 砍掉App_Start目录下的BundleConfig.vb文件,然后在Global.asax下删除相应的配置BundleConfig.RegisterBundles(BundleTable.Bundles)

2.3 砍了这么多东西,我们要先测试一下项目能不能运行起来!!!!!!

测试前先把Controllers目录下的HomeController.vb控制器编辑一下

把原来的代码改一下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
''原代码
Public Class HomeController
    Inherits System.Web.Mvc.Controller

    Function Index() As ActionResult
        ViewData("Title") = "Home Page"

        Return View()
    End Function
End Class

新代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Public Class HomeController
    Inherits Controller

    Function Index() As String
        Return "你好啊!WebAPI服务器"
    End Function
End Class

运行看一下效果!!!!!!!

完美运行,精简到这里即可!!!!

三,下面来介绍一下精简后App_Start目录的文件吧!!(都是一些自己的见解)

3.1,首先出场的是我们的FilterConfig.vb同学,正如名字,他就是一个过滤器的配置,即可以配置respond也可以配置request的内容

3.2,接下来就是我们的路由大侠了RouteConfig.vb,这里面可以配置MVC路由和API等相关路由

3.3,最后就是我们的主角WebApiConfig.vb配置API相关属性和主路由

四,最后说的就是最常用的部分控制器目录Controllers,目录里面已经生成了两个默认的控制器,分别是MVC控制器HomeController.vb和WebAPI控制器ValuesController.vb

4.1 MVC控制器HomeController.vb继承了MVC的控制器基类,不知我们的主角,但是可以配置一个主页;

4.2 WebAPI控制器ValuesController.vb继承了ApiController的控制器基类

4.3 我们再次运行一下项目,看一下WebAPI控制器的访问,MVC控制已配置默认控制器Home启动项目是,第一眼看到的即是!!!

4.3.1 看下我们的WebAPI路由,我们跟着访问即可!!默认控制器是Values所以我们的地址是 localhost:63337/api/values/

4.3.2 得到的结果就是 value1 value2 的XML格式结果

4.4 可能有同学就会问了,怎么把返回的结果改成JSON格式呢?

只要在App_Start目录下WebApiConfig.vb的配置文件里面添加以下代码即可实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'配置eb API返回JSON字符串
        config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
        config.Formatters.Remove(config.Formatters.XmlFormatter)
        Dim jsonFormatter As Object = config.Formatters.OfType(Of JsonMediaTypeFormatter)().First()
        jsonFormatter.SerializerSettings.ContractResolver = New CamelCasePropertyNamesContractResolver()

再看一下返回的结果

五,我们在C目录里面Controllers新建一个LoginController.vb登录控制器简单测试一下

代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Imports System.Net
Imports System.Web.Http

Public Class LoginController
    Inherits ApiController

    ' GET api/login?
    ' <HttpGet> ''请求方式
    ' <ActionName("Token")> ''方法名称
    <AcceptVerbs("GET", "HEAD")> ''允许的请求方式
    <Route("api/login/token")> ''自定义路由
    Public Function GetToken(<FromUri()> uid As String, <FromUri()> pwd As String) As Object
        If uid = "admin" And pwd = "123" Then
            Return New Responobj With {
                    .Code = 200,
                    .Msg = "成功",
                    .Info = "登录系统成功",
                    .Datas = Now().GetHashCode
                }
        Else
            Return New Responobj With {
                  .Code = 400,
                  .Msg = "失败",
                  .Info = "账户或密码错误",
                  .Datas = Nothing
              }
        End If
    End Function


    ''' <summary>
    ''' 定义一个返回体
    ''' </summary>
    Public Class Responobj
        Public Property Code As Integer
        Public Property Msg As String
        Public Property Info As String
        Public Property Datas As Object
    End Class


End Class

5.1 输入错误账户密码测试一下效果

5.2 输入正确密码看一下效果

5.3 本文实例下载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
链接:https://pan.baidu.com/s/1Gv9l_4ZNrJVa0abXlZSopQ 
提取码:vbee 
--来自百度网盘超级会员V5的分享
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
前端页面请求地址的端口是多少呢
前端页面请求地址的端口是多少呢
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
C#净化版WebApi框架
我们都知道WebApi是依赖于Asp.Net MVC的 ,所以,想创建WebApi,就需要先创建一个Asp.Net MVC项目。
Kiba518
2019/04/09
1.9K0
C#净化版WebApi框架
VB.NET ASP.NET WebAPI及应用(番外篇)Swagger接口文档自动生成
WebAPI应用集合列表 VB.NET 创建ASP.NET WebAPI及应用(一) VB.NET 创ASP.NET WebAPI及应用(二) IIS和MYSQL安装 VB.NET ASP.NET W
办公魔盒
2021/12/31
2.4K0
VB.NET ASP.NET WebAPI及应用(番外篇)Swagger接口文档自动生成
VB.NET ASP.NET WebAPI及应用(三)使用Mysql数据库简单的用户登录注册取数据WebAPI
一,首先我们要在数据库里面创建一个简单用户表(角色表等其他表需要的自行创建,这里只做演示,就创建一个简单的用户表)
办公魔盒
2021/12/06
1.9K0
VB.NET ASP.NET WebAPI及应用(三)使用Mysql数据库简单的用户登录注册取数据WebAPI
宝塔面板Linux系统通过Docker部署VB.NET Asp.Net Core WebAPI应用
一,首先,创建一个ASP.NET Core测试项目 1.1 打开VS2019/2022,创建一个.NTE6 Core控制台应用,为什么要这么干呢?因为VB已经不是MS的宠儿了,只能通过控制台,手动配
办公魔盒
2023/03/02
3.3K0
宝塔面板Linux系统通过Docker部署VB.NET Asp.Net Core WebAPI应用
Winform开启Web API服务新姿势
首先Nuget中下载包:Microsoft.AspNet.WebApi.SelfHost,如下:
沙漠尽头的狼
2023/12/04
9200
Winform开启Web API服务新姿势
从 WebAPI Beta 更新到WebAPI RC
The official word on changes from Beta to RC for Web API-related topics (filtered from the original page). ASP.NET Web API now uses Json.NET for JSON formatting: The default JSON formatter in ASP.NET Web API now uses Json.NET for JSON serialization. Json.N
张善友
2018/01/29
1.2K0
从 WebAPI Beta 更新到WebAPI RC
ASP.NET-框架分类与详解
ASP.NET是由微软公司推出的一种基于.NET框架的服务器端Web应用程序开发技术。它提供了丰富的工具和框架,用于开发各种规模的Web应用程序和服务。ASP.NET具有高度的灵活性和可扩展性,适用于不同规模和复杂度的项目。
Damon小智
2024/03/17
3620
ASP.NET-框架分类与详解
支持Ajax跨域访问ASP.NET Web Api 2(Cors)的简单示例教程演示
随着深入使用ASP.NET Web Api,我们可能会在项目中考虑将前端的业务分得更细。比如前端项目使用Angularjs的框架来做UI,而数据则由另一个Web Api 的网站项目来支撑。注意,这里是两个Web网站项目了,前端项目主要负责界面的呈现和一些前端的相应业务逻辑处理,而Web Api则负责提供数据。 这样问题就来了,如果前端通过ajax访问Web Api项目话,就涉及到跨域了。我们知道,如果直接访问,正常情况下Web Api是不允许这样做的,这涉及到安全问题。所以,今天我们这篇文章的主题就是讨论演
Rector
2018/02/01
1.3K0
杂(一)
这一篇,记录关于 .Net 和 .Net Core 的一些零碎的知识点,随时更新。
1ess
2021/11/01
7900
Asp.Net WebApi核心对象解析(一)
本文主要介绍了ASP.NET Web API的背景、使用方法和核心对象,包括HttpRequestMessage、HttpResponseMessage、HttpClient等,并分析了如何使用这些对象来处理HTTP请求和响应。
彭泽0902
2018/01/04
4.7K0
VB.NET WinForm自托管WebApi服务器(接上期的视频)
  本篇文章是接着上期的《VB.NET 结合 B4A 开发进行远程查图报共上传数据功能》的一个延展性,本期主要介绍 WebApi 自托管于 WinForm 程序上的对外作为数据服务接口的一个简单示例!想跟深入研究的大佬们自行度娘咯;本文只做个抛砖引玉;
办公魔盒
2021/06/25
2.2K0
VB.NET WinForm自托管WebApi服务器(接上期的视频)
ASP.NET Web API编程——序列化与内容协商
1 多媒体格式化器 多媒体类型又叫MIME类型,指示了数据的格式。在HTTP协议中多媒体类型描述了消息体的格式。一个多媒体类型包括两个字符串:类型和子类型。 例如: text/html、image/png、application/json、application/pdf。 请求的Content-Type标头指定消息体的格式,指示接收者应如何解析消息体内容。 例如:请求告知服务端请求数据类型为HTML, XHTML, or XML 请求:Accept: text/html,application/xhtml+
甜橙很酸
2018/04/17
2.6K0
ASP.NET Web API编程——序列化与内容协商
WebAPI返回JSON
web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法:  方法一:(改配置法)  找到Global.asax文件,在Application_Start()方法中添加一句:
莫问今朝
2018/08/31
3.7K0
asp.net web api添加统一异常处理
1、自定义异常处理过滤器 /// <summary> /// 自定义异常处理过滤器 /// </summary> public class CustomExceptionFilterAttribute : ExceptionFilterAttribute { public override void OnException(HttpActionExecutedContext actionExecutedContext) {
guokun
2020/09/03
9760
asp.net core 3.1 MVC/WebApi JSON 全局配置
asp.net core 3.1 MVC/WebApi JSON 全局配置 System.Text.Json(default) startup配置代码如下: using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Unicode; public void ConfigureServices(IServiceCollection services) { services.AddJsonOptions(op
跟着阿笨一起玩NET
2020/03/12
3.2K0
WebApi的多版本管理
1.多版本管理概念      什么是API的多版本问题?Android等App存在着多版本客户端共存的问题:由于早期没有内置升级机制,用户不会升级,拒绝升级等原因,造成了许多软件的旧版本App也在运行
莫问今朝
2018/08/31
1.5K0
WebApi的多版本管理
ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-WebApi与Unity注入
前言: 有时候我们系统需要开放数据给手机App端或其他移动设备,不得不说Asp.net WebApi是目前首选 本节记录Asp.net MVC WebApi怎么利用Unity注入。系列开头已经讲解了普通的Asp.net MVC如何用Unity注入容器 不明白什么是IOC,DI,控制反转的自行百度补脑,否则无法阅读本文 其实这也是一次技术上的记录,因为找遍大百度居然没有可以用的利用Unity注入的WebApi!感谢随风朋友的提醒。才能完成本节的指导 为了更好的理解,请下载代码 示例代码下载   https:/
用户1149182
2018/01/16
1.2K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-WebApi与Unity注入
Asp.net mvc 知多少(四)
本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。 由于个人技术水平和英文水平也是有限的,因此错误在所难免,希
圣杰
2018/01/11
2.4K0
Asp.net mvc 知多少(四)
WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
 最近开始使用WebAPI,上手很容易,然后有些疑惑   1.WebAPI默认返回什么数据类型,json还是xml?   2.怎么修改WebAPI的返回数据类型,我用IE浏览器请 求返回的数据都是JSON格式的,用Firefox和Chrome返回数据格式是XML,然后自己用HttpWebRequest请求返回的是JSON格 式的,我就纳闷了,咋同样的程序、同样的配置文件,输出数据格式为啥还带不一样的,就算你默认输出json或者xml都可以理解,咋还不同浏览器,输出格 式不同,经过一番研总算搞懂了原因   
hbbliyong
2018/03/05
2.1K0
WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
.Net WebApi 初探
实现服务层与api层共用,也就表明Service层就是api层。 关键类和接口 System.Web.Http.Dispatcher.DefaultHttpControllerSelector webpai选择控制器的默认实现,可以重写SelectController方法 System.Web.Http.Controllers.ApiControllerActionSelector webapi选择指定控制器下的action的默认实现,可以重写SelectAction方法。 System.We
sam dragon
2018/01/17
9640
相关推荐
C#净化版WebApi框架
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验