RESTful 服务示例

WCF服务轻量级服务,可供JS调用

返回值格式:XML、Json

工程结构:

示例代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5
 6 namespace RESTfulWebServices
 7 {
 8     public class UserInfo
 9     {
10         public string Name { get; set; }
11         public int Age { get; set; }
12         public string Sex { get; set; }
13     }
14 }

实体类

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Runtime.Serialization;
 5 using System.ServiceModel;
 6 using System.Text;
 7 using System.ServiceModel.Web;
 8
 9 namespace RESTfulWebServices
10 {
11     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
12     [ServiceContract]
13     public interface IService1
14     {
15         [OperationContract]
16         [WebGet(UriTemplate = "GetList/{name1}/{name2}",
17            BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
18         List<UserInfo> GetList(string name1, string name2);
19
20         [OperationContract]
21         [WebGet(UriTemplate = "GetUserInfo",
22            BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Xml)]
23         UserInfo GetUserInfo();
24     }
25 }

服务契约

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Runtime.Serialization;
 5 using System.ServiceModel;
 6 using System.Text;
 7
 8 namespace RESTfulWebServices
 9 {
10     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。
11     public class Service1 : IService1
12     {
13         public List<UserInfo> GetList(string name1, string name2)
14         {
15             List<UserInfo> list = new List<UserInfo>();
16             UserInfo u1 = new UserInfo();
17             u1.Age = 39;
18             u1.Name = name1;
19             u1.Sex = "女";
20             list.Add(u1);
21
22             UserInfo u2 = new UserInfo();
23             u2.Age = 29;
24             u2.Name = name2;
25             u2.Sex = "男";
26             list.Add(u2);
27
28             return list;
29         }
30
31         public UserInfo GetUserInfo()
32         {
33             UserInfo u2 = new UserInfo();
34             u2.Age = 59;
35             u2.Name = "王老五";
36             u2.Sex = "男";
37             return u2;
38         }
39     }
40 }

服务实现

 1 <?xml version="1.0"?>
 2 <configuration>
 3   <system.web>
 4     <compilation debug="true" targetFramework="4.0" />
 5   </system.web>
 6   <system.serviceModel>
 7     <services>
 8       <service behaviorConfiguration="GetPostBehavior" name="RESTfulWebServices.Service1">
 9         <endpoint address="" behaviorConfiguration="GetPostEndBehaviors" binding="webHttpBinding"
10                   contract="RESTfulWebServices.IService1">
11         </endpoint>
12         <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
13       </service>
14     </services>
15     <behaviors>
16       <endpointBehaviors>
17         <behavior name="GetPostEndBehaviors">
18           <webHttp />
19         </behavior>
20       </endpointBehaviors>
21       <serviceBehaviors>
22         <behavior name="GetPostBehavior">
23           <serviceMetadata httpGetEnabled="true" />
24           <serviceDebug includeExceptionDetailInFaults="false" />
25         </behavior>
26       </serviceBehaviors>
27     </behaviors>
28     <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
29   </system.serviceModel>
30 </configuration>

配置文件

运行结果:

无参服务调用方式:地址+方法名 http://localhost:1768/Service1.svc/GetUserInfo

XML格式返回值:

带参数服务调用方式:地址+方法名+参数1+参数2+参数N  http://localhost:1768/Service1.svc/GetList/Jim/Tom

Json格式返回值:

示例源码下载:RESTfulWebServices.rar

RESTful 服务(配备 WCF)介绍
时间: 2024-11-07 07:50:37

RESTful 服务示例的相关文章

使用ASP.Net WebAPI构建REST-ful 服务(一)——简单的示例

由于给予REST的Web服务非常简单易用,它越来越成为企业后端服务集成的首选方法.本文这里介绍一下如何通过微软的Asp.Net WebAPI快速构建REST-ful 服务. 首先创建一个Asp.Net Web应用程序(我这里用的是Visual Studio 2013,它已经内置了Web API2). 在出来的模板中选择Empty(空项目),并勾选WebAPI.点击确定后,就创建了一个空的WebAPI服务. 此时只有一个空项目,还没有任何功能,在进行下一步之前,首先我们来看一下REST的基本操作模

基于dubbo快速发布restful服务

本文使用官方项目示例,基于dubbox发布restful服务.jdk,eclipse.maven神马环境的就不讲了,自行baidu之. dubbox下载.编译 下载地址:https://github.com/dangdangdotcom/dubbox下载方式可以用git下载,也可以打包下载.下载之后,用maven导入(eclipse->import->Maven).dubbo项目结构: 使用maven打包,版本2.8.4. zookeeper安装 本文使用的是单节点的注册中心,在实际项目中需要

WCF Restful 服务 Get/Post请求

Restful  Get方式请求: Restful服务 Get请求方式:http://localhost:10718/Service1.svc/Get/A/B/C http://localhost:10718/Service1.svc 服务地址:Get 方法名:A,B,C分别为三个String参数的值. 请求所得数据将在页面显示如图: 代码实现: 简单示例:一个查询方法,获取三个参数,并将得到的参数显示到页面 1.接口契约 1 using System; 2 using System.Colle

java_java 利用JAX-RS快速开发RESTful 服务

JAX-RS(Java API for RESTful Web Services)同样也是JSR的一部分,详细规范定义见 https://jcp.org/en/jsr/detail?id=311 .从JAVA EE 6开始,已经内置了该技术,跟.NET中的RESTful WCF类似,只要在常规方法上使用一些简单的注解,就可以对外暴露成RESTful 服务. 注:本文运行环境为Jboss EAP 6.x ,其它容器特别是tomcat,并未自带JAX-RS依赖的jar包,如果采用tomcat,需要自

我们必须要知道的RESTful服务最佳实践

看过很多RESTful相关的文章总结,参齐不齐,结合工作中的使用,非常有必要归纳一下关于RESTful架构方式了,RESTful只是一种架构方式的约束,给出一种约定的标准,完全严格遵守RESTful标准并不是很多,也没有必要.但是在实际运用中,有RESTful标准可以参考,是十分有必要的. 实际上在工作中对api接口规范.命名规则.返回值.授权验证等进行一定的约束,一般的项目api只要易测试.足够安全.风格一致可读性强.没有歧义调用方便我觉得已经足够了,接口是给开发人员看的,也不是给普通用户去调

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

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

CXF+Spring+JAXB+Json构建Restful服务

话不多说,先看具体的例子: 文件目录结构: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://

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服务,RE

jeesz分布式架构-RestFul服务

摘要: REpresentational State Transfer (REST) 是一种架构原则,其中将 web 服务视为资源,可以由其 URL 唯一标识. RESTful Web 服务的关键特点是明确使用 HTTP 方法来表示不同的操作的调用. REST 的基本设计原则对典型 CRUD 操作使用 HTTP 协议方法: POST - 创建资源 GET - 检索资源 PUT – 更新资源 DELETE - 删除资源 REST 服务的主要优势在于: 1. REST介绍 REpresentatio