前言本文是关于如何创建Rest API C#控制台应用程序的,在此之前,我们必须知道什么是RESTful api 。RESTful API是一种应用程序接口(API),它使用HTTP方法请求GET、PUT、POST和DELETE数据 。
RESTful API(也称为RESTfulWeb服务)基于表示状态传输(REST)技术,这是web服务开发中常用的一种体系结构风格和通信方法 。
REST技术通常是更健壮的简单对象访问协议(SOAP)技术的首选,因为REST利用的带宽更少,更适合互联网使用 。网站的API是允许两个软件程序相互通信的代码 。API规定了开发人员编写程序从操作系统或其他应用程序请求服务的正确方式 。
浏览器通常使用的REST可以看作是互联网的语言 。随着云使用的增加,API正在出现以公开web服务 。REST是构建允许用户连接云服务并与云服务交互的API的合理选择 。RESTful API被亚马逊、谷歌、LinkedIn和Twitter等网站使用 。
在本指南中,我将告诉您如何制作不需要IIS托管(自托管)Rest API的C#控制台应用程序,从在Microsoft Visual Studio从制作项目开始,直到在浏览器中进行测试 。您也可以使用计算机直接遵循此说明 。
操作步骤创建控制台项目使用Microsoft Visual Studio 2015等创建新的控制台项目应用程序(示例:restservice)
如下图:
文章插图
编辑App.config参考内容如下:
<?xml version="1.0" encoding="utf-8"?><configuration><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /></startup><system.serviceModel><serviceHostingEnvironment multipleSiteBindingsEnabled="true"/><bindings><!--<wsHttpBinding>--><basicHttpBinding><binding name="basicHttp" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="01:00:00" maxBufferPoolSize="2147483647"><security mode="None"><!--<transport clientCredentialType="None" />--></security><!--<reliableSession enabled="true" />--></binding></basicHttpBinding><!--</wsHttpBinding>--><webHttpBinding><binding name="webHttp" openTimeout="00:10:00" closeTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="01:00:00" maxBufferPoolSize="2147483647"><security mode="None"><!--<transport clientCredentialType="None" />--></security></binding></webHttpBinding></bindings><services><service name="restservice.Service"><endpoint address ="rest" binding="webHttpBinding" bindingConfiguration="webHttp" contract="restservice.IService" behaviorConfiguration="web"></endpoint><host><baseAddresses><add baseAddress="http://localhost:8080" /></baseAddresses></host></service></services><behaviors><serviceBehaviors><behavior name="mexBehaviour"><serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /><!-- rest api--><serviceDebug includeExceptionDetailInFaults="false"/></behavior></serviceBehaviors><endpointBehaviors><behavior name="web"><webHttp/></behavior></endpointBehaviors></behaviors></system.serviceModel><runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /><bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /></dependentAssembly></assemblyBinding></runtime></configuration>
创建IService如下接口类的C#代码:using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.ServiceModel.Web;using System.Text;namespace restservice{[ServiceContract]public interface IService{[OperationContract][WebInvoke(Method = "GET",ResponseFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Wrapped,UriTemplate = "login/{username}/{password}")][return: MessageParameter(Name = "Data")]USER DoLogin(string username, string password);}public class USER{public string username { get; set; }public string password { get; set; }public string firstname { get; set; }public string lastname { get; set; }}}
添加引用如果出现任何错误,请添加引用 。您需要添加如下库的引用:
推荐阅读
- 工厂模式:将对象的创建与使用分离,提高程序可维护性和可扩展性
- 如何入门 Linux Shell 脚本编写
- 你应该知道的18个Python函数
- 如何更好的选择白酒?
- 我是如何用油门技巧降低油耗的?揭秘省油驾驶的3大关键操作!
- 如何用泡打粉做油条
- 翡翠|标题:帝王绿翡翠的珍贵性与价值——如何鉴别市面上的真假帝王绿翡翠?
- 干香菇如何快速泡好
- 陈平|简历不出彩如何找工作?陈平的答案堪称教科书,说老板最关心的事
- |因“大嫂”一角走红后的高叶现状到底如何