第五章 修改实现(IMPL)类
文章目录
- 第五章 修改实现(IMPL)类
- 初始方法定义
- 实现方法
- 暴露服务器错误的详细信息
- 修改错误响应
第五章 修改实现(IMPL)类
本章讨论如何修改 REST
服务的实现类。
初始方法定义
实现类最初包含存根方法,如下例所示:
/// Returns all pets from the system that the user has access to<br/>
/// The method arguments hold values for:<br/>
/// tags, tags to filter by<br/>
/// limit, maximum number of results to return<br/>
ClassMethod findPets(tags As %ListOfDataTypes(ELEMENTTYPE="%String"), limit As %Integer) As %Stream.Object
{//(Place business logic here)//Do ..%SetStatusCode(<HTTP_status_code>)//Do ..%SetHeader(<name>,<value>)//Quit (Place response here) ; response may be a string, stream or dynamic object
}
在每种情况下,这些存根方法都具有遵循 REST
服务规范定义的契约的签名。
实现方法
对于实现类中的每个方法,根据使用它的 REST
调用编辑方法定义(特别是实现)。请注意,该方法前面有一个注释,该注释是相应 REST
调用描述的副本。在实施中:
- 返回适当的值。
- 检查请求消息。为此,请使用实现类的
%CheckAccepts()
、%GetContentType()
和%GetHeader()
方法。这里提到的所有方法都是从%REST.Impl
继承的,它是你的实现类的超类。 - 根据需要设置
HTTP
状态代码以指示,例如,资源是否可用。为此,请使用%SetStatusCode()
方法。有关HTTP
状态代码的信息,请参阅 http://www.faqs.org/rfcs/rfc2068.html。 - 设置
HTTP
响应标头。为此,请使用%SetHeader()
、%SetHeaderIfEmpty()
和%DeleteHeader()
方法。 - 如果需要,报告错误。为此,请使用
%LogError()
方法。
暴露服务器错误的详细信息
默认情况下,如果 REST
服务遇到内部错误,则不会向客户端报告错误的详细信息。要更改这一点,请将以下内容添加到实现类,然后重新编译它:
Parameter ExposeServerExceptions = 1;
请注意,默认的 %ReportRESTError()
方法会检查此参数。如果您覆盖该方法(参见下一个标题),您可以选择方法是否使用此参数。
修改错误响应
如果需要以非默认方式格式化错误响应,请覆盖实现类中的 %ReportRESTError()
方法。在方法中,使用 %WriteResponse()
方法返回错误响应。
第五章 修改实现(IMPL)类相关推荐
- [深入理解Android卷一全文-第五章]深入理解常见类
由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容. ...
- C语言基础教程读书笔记5.2.(第五章函数和存储类2)
4.作用域规则 标示符只能在说明或对他定义它的函数体或分程序内饰可见的,而在该函数体或分程序外则是不可见的. 举个例子: # include <stdio.h> int main() { ...
- Java(第十五章)
第十五章 一.字符串类String 1.String是一个类,位于java.lang包中 2.创建一个字符串对象的2种方式: String 变量名="值"; String 对象名= ...
- 自适应滤波器在matlab仿真的程序_电气信息类专业课程之matlab系统仿真 第五章 BPSK通信系统(3)...
继续讲解! 上一篇文章提出了那么多问题, 不知道大家是否能回答上来啊? 如果回答不了, 有没有去问问度娘呢? 程序写完了,回想了一下辅导2017届学生毕业设计的过程,那是真累.我要求他们在现有程序基础 ...
- 计算机改计数器的方法,第五章定时器计数器(修改)-计算机原理及应用资源共享课.ppt...
第五章定时器计数器(修改)-计算机原理及应用资源共享课.ppt 1 第5章 MCS-51单片机定时器/计数器 主要内容 定时/计数器的工作原理模式 定时/计数器的工作方式 定时/计数器的应用 2 (1 ...
- 【JAVA SE】第五章 数组、多维数组和Arrays类
第五章 数组.多维数组和Arrays类 文章目录 第五章 数组.多维数组和Arrays类 一.数组 1.概述 2.声明数组变量 3.创建数组 4.For-Each 循环 二.多维数组 1.概述 2.多 ...
- Java核心技术卷一 -第五章:类的强制类型转换与instanceof操作符
系列文章目录 Java核心技术卷一 -第一章:java"白皮书"的关键术语 Java核心技术卷一 -第三章:数据类型 Java核心技术卷一 -第三章:变量与常量 Java核心技术卷 ...
- Java核心技术卷一 -第五章:枚举类再认识
系列文章目录 Java核心技术卷一 -第一章:java"白皮书"的关键术语 Java核心技术卷一 -第三章:数据类型 Java核心技术卷一 -第三章:变量与常量 Java核心技术卷 ...
- 华南农业大学C语言程序设计课后习题(第五章)已修改
华南农业大学C语言程序设计课后习题(第五章) 18046 字母分类统计 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 编程题 语言: G++;GCC;VC Des ...
- [转]Windows Shell编程 第十五章【来源:http://blog.csdn.net/wangqiulin123456/article/details/7988016】...
第十五章 SHELL扩展 谈到Windows Shell编程,Shell扩展是最重要的科目之一,绝大多数商业应用的最酷特征的都是通过Shell扩展实现的,而且有许多显著的系统特征实际都是插入了扩展代码 ...
最新文章
- 为什么 Python被Google选为TensorFlow的开发语言呢?使用 Python比C++语言进行机器学习有什么优势?
- k8s 多租户_k8s使用rbac实现多租户
- 图片动画效果html5,8个实用炫酷的HTML5图片动画应用
- 大文件上传服务器、支持超大文件HTTP断点续传实践总结
- Integer.ParseInt()异常
- 8.卷1(套接字联网API)---基本UDP套接字编程
- linux SO文件
- 【XSY2731】Div 数论 杜教筛 莫比乌斯反演
- C#调用谷歌翻译API
- 计算机中.dll文件检查,在电脑中查看并打开dll文件类型的具体方法
- mac 修改hosts不生效问题
- Android 最常用的设计模式六 安卓源码分析—责任链模式
- 如何通过软件编辑自己想要的点阵图片
- Processing绘制星空-2-绘制流星
- resultful接口开发
- 求主对角线上各元素之和(C语言)
- VUE调用WEB3.0实现代币查询,批量转账功能
- HUST-多媒体基础PPT目录
- 计算机主板没电默认时间,电脑时间不能自动更新了怎么办?每次开机都要重新设置时间...
- Java毕设项目奥利给共享自习室系统(java+VUE+Mybatis+Maven+Mysql)