PersonDto中@ResourceAccess(readOnly = true)以及swagger的理解-----似懂非懂,日后消化
@JsonApiResource(type = PersonDto.RESOURCE_TYPE) @EntityMapping(entityClass = Person.class) //@ResourceAccess(readOnly = true) @ApiResource(group = ApiResourceGroup.CONTACT_AND_ACTIVITY) public class PersonDto extends PartyDto { }
将@ResourceAccess(readOnly = true)注释掉,则,重新编译项目,访问ip/backstop/api-docs/index.html#!/_People,则发现,在people对应下,由原来只有get/post变成了get/post/delete/patch四种请求都有。
simon告诉我,这是基于反射的原理。具体内部如下:
web.xml:
<servlet> <servlet-name>Jersey Katharsis Service</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.backstopsolutions.api.KatharsisApplication</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
kathasisApplication:
@Singleton @ApplicationPath("/") public class KatharsisApplication extends ResourceConfig { public static final String API_PATH_PREFIX = "/backstop/api"; public static final String API_PACKAGE_NAME = "com.backstopsolutions.api"; public KatharsisApplication() { property(KatharsisProperties.RESOURCE_SEARCH_PACKAGE, API_PACKAGE_NAME + ",io.katharsis"); property(KatharsisProperties.WEB_PATH_PREFIX, API_PATH_PREFIX); register(BackstopContext.getInjector().getInstance(KatharsisDynamicFeature.class)); } }
kathasisDynamicFeature:
@Override public boolean configure(FeatureContext context) { if (!super.configure(context)) { return false; } // Swagger filter context.register(injector.getInstance(ApiDocFilter.class)); // API usage filter context.register(injector.getInstance(ApiUsageFilter.class)); // API version filter context.register(injector.getInstance(ApiVersionFilter.class)); // Clean up context.register(injector.getInstance(ApiContextCleanUpFilter.class)); apiContext.initialize(); return true; }
ApiDocFilter:
和swagger关联,具体,内部怎么反射变成swagger调试工具,不是很懂。如有同事能解释清楚,望补充。
PersonDto中@ResourceAccess(readOnly = true)以及swagger的理解-----似懂非懂,日后消化的更多相关文章
- [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值
原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ...
- .NET中TextBox控件设置ReadOnly=true后台取不到值的解决方法
在.NET 2.0 下,当页面上的某个TextBox 设置了属性ReadOnly="True"时,通过客户端脚本给其赋值后,在后台代码中访问其Text属性却无法获得该值.经过尝试, ...
- .NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法
当TextBox设置了ReadOnly=true后要是在前台为控件添加了值,后台是取不到的,值为空,多么郁闷的一个问题经过尝试,发现可以通过如下的方式解决这个问题.感兴趣的朋友可以了解下 当TextB ...
- .NET中TextBox控件设置ReadOnly=true后台取不到值 三种解决方法
方法一:不设置ReadOnly属性,通过onfocus=this.blur()来模拟,如下: <asp:TextBox ID="TextBox1" runat="s ...
- ASP.NET 中TextBox设置ReadOnly="true" 无法取到值的做法
当 TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空” 原理没想通,说不清楚微软是出于什么考虑的,https://www. ...
- ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值
SP.NET中TextBox控件设置ReadOnly="true"H或Enabled=false后台取不到值 当TextBox设置了ReadOnly="true" ...
- readonly=“readonly”与readonly=“true”
<input id="u" readonly /> <input id="u" readonly="readonly" / ...
- Spring boot中使用springfox来生成Swagger Specification小结
Rest接口对应Swagger Specification路径获取办法: 根据location的值获取api json描述文件 也许有同学会问,为什么搞的这么麻烦,api json描述文件不就是h ...
- Spring 注解@Transactional readOnly=true
引子 今天下班后,以前同事小胖问我Spring Service类中的注解@Transactional readOnly=true的作用.做为他眼中的高人,我自然要装下A-C.居然想都没有想就说是注解 ...
随机推荐
- C++ 静态常量
#include<iostream> #include<stdexcept> #include <map> using namespace std; class n ...
- git常用命令收藏
git init //初始化本地git环境 git clone XXX//克隆一份代码到本地仓库 git pull //把远程库的代码更新到工作台 git pull --rebase origin m ...
- vue-cli 脚手架项目-package.json
使用vue-cli脚手架新建的项目中,含有package.json. package.json是npm的配置文件,里面设定了脚本以及项目依赖的库. npm run dev 这样的命令就写在packag ...
- CodeForces - 896D :Nephren Runs a Cinema(卡特兰数&组合数学---比较综合的一道题)
Lakhesh loves to make movies, so Nephren helps her run a cinema. We may call it No. 68 Cinema. Howev ...
- HihoCoder1080 更为复杂的买卖房屋姿势(线段树+多重lazy)
描述 小Hi和小Ho都是游戏迷,“模拟都市”是他们非常喜欢的一个游戏,在这个游戏里面他们可以化身上帝模式,买卖房产. 在这个游戏里,会不断的发生如下两种事件:一种是房屋自发的涨价或者降价,而另一种是政 ...
- HDU3577Fast Arrangement(线段树+lazy)
Problem Description Chinese always have the railway tickets problem because of its' huge amount of p ...
- COGS1516. 棋盘上的车
[题目描述] 在n*n(n≤20)的方格棋盘上放置n 个车,求使它们不能互相攻击的方案总数. [输入格式] 一行一个正整数n. [输出格式] 一行一个正整数,即方案总数. [样例输入] 3 [样例输出 ...
- centos下wget: command not found的解决方法
今天给服务器安装新LNMP环境时,wget 时提示 -bash:wget command not found,很明显没有安装wget软件包.一般linux最小化安装时,wget不会默认被安装,这里是C ...
- spark流程跟踪
每个action对应一个job,每个job里面会有很多个阶段(stage),其实每个stage都是一个算子(Operation),可能是transformation,可能是action:但是actio ...
- 【转】轻舞飞扬 LTE基本架构
这篇文章主要介绍LTE的最基础的架构,包括LTE网络的构成,每一个网络实体的作用以及LTE网络协议栈,最后还包括对一个LTE数据流的模型的说明. LTE网络参考模型 这是一张非常有名的LTE架构图,从 ...