5个步骤创建你的第一个RESTFul 服务

1、啥是RESTFul 服务

在我们创建简单小程序前,先来学习下RESTFul 服务。RESTFul服务就是遵循了 Representational State Transfer(可以参考http://blog.csdn.net/zhruifei/article/details/50633495) 这个架构的一种架构。WCF允许我们使用SOAP 通过各种协议,协议包括,HTTP,TCP,MSMQ,Named Pipes等进行交换信息。现在我们通过一个最常用的协议HTTP协议来讲述WCF服务,REST服务通过HTTP来进行最常用的CRUD(Read(GET)/Create(POST)/Update(PUT)/Delete(DELETE))功能,在这里我们先实现一个简单的GET功能

2、创建restful 服务

下面是5步创建你的rest服务并且返回xml格式

  • 创建WCF Service Project.
  • 准备数据
  • 创建Service Contract
  • 继承Service
  • 配置服务和行为

1)打开vs-新建项目-选择WCF服务应用程序

2,新建一个类 car.cs

  [DataContract]
    public class Car
    {
        [DataMember]
        public string color { get; set; }
        [DataMember]
        public double speed { get; set; }
        [DataMember]
        public double price { get; set; }
    }

    public partial class Cars
    {
        public static readonly Cars _instance = new Cars();
        private Cars() { }

        public static Cars Instance
        {
            get { return _instance; }
        }

        public List<Car> CarList
        {
            get { return carLists; }
        }
        private List<Car> carLists = new List<Car>
        {
            new Car { color = "red", speed = 200, price = 200 },
            new Car{color = "blue", speed = 200, price = 200},
            new Car{color="green",speed=300,price=400}
        };

    }

3)新建WCF 服务--如下图所示

系统将新疆两个文件,包括ICarRestService.cs 接口文件如下图所示:

下面我们将Dowork 方法改为GetCarList 方法

如下所示:

  • Method="Get" 代表这Http获取数据的方式
  • RequestFormat = WebMessageFormat.Json  请求的数据是JSON格式,当然RequestFormat = WebMessageFormat.Xml 请求的是XML格式
  • UriTemplate = "GetCarList/" 请求了URL

5)配置服务和行为

<?xml version="1.0"?>
<configuration>

  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5"/>
  </system.web>
  <system.serviceModel>
    <services>
        <service name="MyRESTService.ProductRESTService" behaviorConfiguration="serviceBehavior">
            <endpoint address=""
                      binding="webHttpBinding"
                      contract="MyRESTService.IProductRESTService"
                      behaviorConfiguration="web"></endpoint>
          </service>
   </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="serviceBehavior">
                  <serviceMetadata httpGetEnabled="true"/>
                  <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
          <behavior name="web">
                <webHttp/>
            </behavior>
      </endpointBehaviors>
    </behaviors>
    <protocolMapping>
        <add binding="basicHttpsBinding" scheme="https" />
    </protocolMapping>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--
        To browse web app root directory during debugging, set the value below to true.
        Set to false before deployment to avoid disclosing web app folder information.
      -->
    <directoryBrowse enabled="true"/>
  </system.webServer>

</configuration>

  配置自己写写就明白了  此处的webHTTPBinding 是rest 服务专用的绑定模式

6)然后在浏览器中输入:http://localhost:30547/CarsRestService.svc/GetCarList/

得到的结果如下:

哈哈这样第一个rest 服务就好了,希望可以帮助到你

				
时间: 2024-12-25 07:29:50

5个步骤创建你的第一个RESTFul 服务的相关文章

基于SpringBoot开发一个Restful服务,实现增删改查功能

在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练.不过在看了很多关于SpringBoot的介绍之后,并没有想象中的那么难,于是开始准备学习SpringBoot. 在闲暇之余的时候,看了下SpringBoot实战以及一些大神关于SpringBoot的博客之后,开始写起了我的第一个SpringBoot的项目.在能够对SpringBoot进行一些简单的开发Re

3.消费一个RESTful Web Service

这节课我们根据官网教程学习如何去消费(调用)一个 RESTful Web Service . 原文链接 https://spring.io/guides/gs/consuming-rest/ 本指南将引导您完成创建使用RESTful Web服务的应用程序的过程. 我们将会创建什么? 您将构建一个使用Spring RestTemplate的应用程序来检索http://gturnquist-quoters.cfapps.io/api/random中的随机Spring Boot引用. 你需要准备什么?

在GlassFish应用服务器上创建并运行你的第一个Restful Web Service【翻译】

前言 本人一直开发Android应用,目前Android就业形势恶劣,甚至会一路下滑,因此决定学习服务器开发.采用的语言是java,IDE是Intellij,在下载Intellij的同时看到官网很多优秀的guide文章,于是按照guide成功完成了一个RESTful的demo.官方文档非常简洁,给我带来了很大的帮助,于是翻译之,希望对其他不愿意看原文的人有所帮助.由于水平有限,读者发现错误请指正,谢谢. 原文地址: https://www.jetbrains.com/help/idea/2016

【翻译】在Mac上使用VSCode创建你的第一个Asp.Net Core应用

Setting Up Your Development Environment 设置你的开发环境 To setup your development machine download and install .NET Core and Visual Studio Code with the C# extension. Node.js and npm is also required. If not already installed visit nodejs.org. 首先在你的机器上下载.Ne

利用C#创建和安装一个windows服务

最近项目需要,需要定时获取天气资料往数据数库内写入数据,所以就考虑到了.net内的window服务.以前没有这方面的需求,所以基本没怎么接触过.所以也借这次机会好好补充下这方面的知识,以备以后工作之需. 关于winds服务的介绍,这里有一篇文章介绍得很清楚:http://blog.csdn.net/yysyangyangyangshan/article/details/7295739,但这里的具体步骤讲述不是很清楚,所以现用具体的方式再讲述下windows服务的开发与安装事项. 开发环境:Win

通过beego快速创建一个Restful风格API项目及API文档自动化(转)

通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界面. 一.创建数据库及数据表(MySQL) #db--jeedev -- ---------------------------- -- Table structure for `app` -- ---------------------------- DROP TABLE IF EXISTS `a

C# 创建一个WCF服务

做代码统计,方便以后使用: app.config配置文件设置: <configuration> <system.serviceModel> <bindings> <webHttpBinding> <binding name="webBinding" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMess

WPF入门教程系列(一) 创建你的第一个WPF项目

WPF入门教程系列(一) 创建你的第一个WPF项目 WPF基础知识 快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识: 1) C#基础语法知识(或者其他.NET支持的语言):这个是当然的了,虽然WPF是XAML配置的,但是总还是要写代码的,相信各位读者应该也都有这个基础了. 2) HTML语言:虽然WPF是窗体程序但是由于使用的XAML语言,如果以前接触过HTML.XHTML.ASP.NET之路的东西的话会,接受这些标签会很有帮助的,如

C#创建、安装一个Windows服务

C#创建.安装一个Windows服务http://blog.csdn.net/yysyangyangyangshan/article/details/10515035 关于WIndows服务的介绍,之前写过一篇:http://blog.csdn.net/yysyangyangyangshan/article/details/7295739.可能这里对如何写一个服务不是很详细.现在纯用代码的形式介绍一下windows服务是如何开发和安装的. 开发环境:Win7 32位:工具:visualstudi