Restful Objects for .NET

Restful Objects是关于领域对象模型的超媒体API的公共规范。该规范的1.0.0 版本刚刚发布并提供下载,并且目前已经出现了两个实现了该规范的开源框架——一个基于Java平台,另一个基于.NET平台, Restful Objects for .NET完整实现了规范,但其目前还处于beta版本,因为它使用了Microsoft Web API框架(ASP.NET MVC4的一部分)。

使用这个框架,你能够根据领域对象模型分别编写POCOs代码,然后创建完整的符合Restful Objects规范的RESTful API,而不用编写任何其他深入的代码。这个录制的在线视频(使用.NET框架)演示了上述工作如何在仅仅几分钟内就可以完成。

这个框架都是建立在实现了naked objects模式——根据领域对象模型利用反射自动创建面向对象的用户界面,并(默认)提供用户活动的公共方法——的现行框架之上的。新的Restful Objects框架以相似的方式反射领域对象模型,但以RESTful API的形式呈现对象的功能,而不是以用户界面的形式。两个新的框架都将反射、对象持久以及其他横向关注点(cross-cutting concerns)的职责委托给了已有框架Naked Objects for .NET

上述的新框架能够识别一些简单的领域对象代码规范以及标示法(在.NET中为‘attributes’)。例如:对象上的任何公有方法都默认会在Restful Objects API中以action提供出来,但允许通过将方法标示为Hidden以重写。如果某个对象定义了公有方法foo([params]) 和另一个公有方法validateFoo([params]),则后者会被认为是用来在前者执行前为传递给前者的参数提供验证逻辑的。

这两个框架还提供了细粒度的基于用户身份和/或角色的授权机制。对于给定的领域类型,如果用户没有被授权查看某个给定的属性、集合或者活动(action),则在相应的表述中指向该对象成员的链接就永远不会呈现给该客户。当用户试图通过直接构造指向该资源的URL以进行访问时,他们将接收到404错误;而如果用户拥有查看该对象成员的权限,但没有编辑的权限,则当试图进行编辑时就会接收到403错误。

相关文章:

Restful Objects简介

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

从零开始学Java-SpringMVC统一异常处理

看到 Exception 这个单词都心慌 如果有一天你发现好久没有看到Exception这个单词了,那你会不会想念她?我是不会的。她如女孩一样的令人心动又心慌...

3304
来自专栏听雨堂

将一段复杂文本变成字符串的赋值语句

        因为需要在C#的代码中,写入一大段的js代码和网页代码,试验已经没有问题了。实现时却碰到一个小问题,就是大段的js和html代码,应该以什么方式...

1897
来自专栏Golang语言社区

Go语言实践:从新手入门到上线真实的小型服务所遇到的那些坑

摘要: Teamwork团队在去年写了近20万行Go代码,建造了一堆速度奇快的小型HTTP服务,本文列出了他们总结的9条经验教训。 为什么选择Go语言?Go...

3298
来自专栏程序员阿凯

从 Spring 开始,谈谈如何自学 Java 常用框架

1532
来自专栏精讲JAVA

详述 PO VO BO DTO DAO 和 POJO 的概念及区别

 说实话,我相信对于刚接触 PO、VO、BO、DTO、DAO 和 POJO 这些概念的同学来说,大都会有一种“这都是什么鬼?”的感觉,可谓是云里雾里,不知今...

1465
来自专栏程序猿DD

探讨通过Feign配合Hystrix进行调用时异常的处理

作者:任聪 原文:http://www.jianshu.com/p/f240ca7bb7c0 前言:此文所述处理方式为本人在实践过程中研究分析得出的一种解决方案...

4315
来自专栏Golang语言社区

Go语言实践:从新手入门到上线真实的小型服务所遇到的那些坑

摘要: Teamwork团队在去年写了近20万行Go代码,建造了一堆速度奇快的小型HTTP服务,本文列出了他们总结的9条经验教训。 为什么选择Go语言?Go...

3467
来自专栏Golang语言社区

Go语言实践:从新手入门到上线真实的小型服务所遇到的那些坑

摘要: Teamwork团队在去年写了近20万行Go代码,建造了一堆速度奇快的小型HTTP服务,本文列出了他们总结的9条经验教训。 为什么选择Go语言?Go...

3626
来自专栏华章科技

Ruby 和 Python 分析器是如何工作的?

你好! 我作为一名编写Ruby profiler的先驱,我想对现有的Ruby和Python profiler如何工作进行一次调查。 这也有助于回答很多人的问题:...

1092
来自专栏XAI

Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图

这是第一篇实例的步骤与代码。还有整个项目的结构图。 http://my.oschina.net/xshuai/blog/345117 原创的博文。转载注明出处...

4946

扫码关注云+社区