标签归档:REST

用slim写的一个RESTful服务

php写rest服务,以下是一些资料和一个例子。仅供学习。 REST 资料:http://www.sitepoint.com/rest-can-you-do-more-than-spell-it-1/ SLIM资料:http://www.slimframework.com/(官网) http://minimee.org/php/slim(中文文档) https://github.com/codeguy/Slim-Extras/tree/master/Middleware(Slim的一些插件开源地址) SLIM示例:http://www.sitepoint.com/writing-a-restful-web-service-with-slim/ 同时推荐一个PHP数据库ORM类:http://www.notorm.com/ 下面是我的例子: GET /books: Retrieve a list of items GET /book/123: Retrieve item 123 POST /book: Create a new item PUT /book/123: Update item 123 DELETE /book/123: Remove item 123 <?php //导入类库 require … 继续阅读

发表在 日记 | 标签为 , , , | 一条评论

Rest服务禁用WebDAV

在IIS7.0中,使用了WebDAV。 rest服务创建在虚拟目录中,调用中服务无法进行delete、put等操作,只有post和Get请求访问正常。禁用WebDaV访问正常。可见不允许的谓词put等由于WebDAV引起。 rest服务config文件中,按照以下配置,可让rest服务不启用webDav服务运行。 <system.webServer> <modules runAllManagedModulesForAllRequests=”true” runManagedModulesForWebDavRequests=”true” > <add name=”UrlRoutingModule” type=”System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” /> <remove name=”WebDAVModule” /> </modules> <handlers> <remove name=”WebDAV” /> </handlers> </system.webServer>

发表在 学习笔记 | 标签为 , , , , | 4条评论

WCF REST service 400 Bad Request

WCF REST service 返回是400 错误。 默认超过65K传输时产生异常。解决Webcofig中webHttpEndpoint配置maxReceivedMessageSize 等。 <!– Configure the WCF REST service base address via the global.asax.cs file and the default endpoint via the attributes on the <standardEndpoint> element below –> <standardEndpoint name=”” maxBufferSize=”2147483647″ maxReceivedMessageSize=”2147483647″ maxBufferPoolSize=”0″ helpEnabled=”true” automaticFormatSelectionEnabled=”true” faultExceptionEnabled=”true”> … 继续阅读

发表在 学习笔记 | 标签为 , , , | 留下评论

WCF:REST服务接收http post数据的处理方法

通过定义UriTemplate,WebInvoke等就可以处理。 如下: stream 输入流 例如: [WebInvoke(UriTemplate = “import?url={encodedServiceUrl}”, Method = “POST”, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] public ImportRest Create(Stream pstream, string encodedServiceUrl) UriTemplate定义了参数匹配关系:我的参数如encodedServiceUrl,类型必须string 获取POST过来的数据信息。 定义Stream pstream参数就可以了。 获取代码如下: //获取requestBody string postJson = string.Empty; using (var reader = OperationContext.Current.RequestContext.RequestMessage.GetReaderAtBodyContents()) { if … 继续阅读

发表在 学习笔记 | 标签为 , , | 2条评论