当前位置:首页 » 编程语言 » javarest

javarest

发布时间: 2024-09-19 09:28:43

1. java有哪些好用的REST框架

1 Dropwizard
Dropwizard 提供了稳定成熟的Java库, 并封装成一个简单的轻量级的包。
Dropwizard 介于框架和库之间。它提供了一个开发web应用程序的全部所需。由于内置模块化,一个应用程序可以保持小而精干的特点,减少开发改慎和维护的时间,减少负担。
Dropwizard 使用已有的 Jetty HTTP 库,嵌入到你的项目中,无需外部的server。所有的Dropwizard项目都有一个 main 方法来管理内建的 HTTP server.
2 Jersey
Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。尽管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架。
3 Ninja Web Framework
Ninja Web Framework是全栈的 java web framework。稳定, 快速, 可靠, 产品级.
它提供了开发,测试,发布,维护 RESTful web应用的一切(Servlets, Guice, JPA, Flyway migrations, Maven, etc.).
就像 DropWizzard, Ninja Web Framework 是一个集成备歼迹的软件栈。你不必建立你自己的,只需使用 Maven archetype生成一个新的项目,导入到IDE中就可以开始编码了。
4
Play Framework
使用Play Framework 很容易地创建,构仿并建和发布 web 应用程序,支持 Java & Scala。它使用Akka, 基于一个轻量级的无状态的架构。它应该应用于大规模地低CPU和内存消耗的应用。
5
Spark Framework
不要和 Apache 的大数据框架 Spark 弄混, 这里的 Spark 框架是一个轻量级的 Java web 框架,用来进行快速的开发(50% Spark用户使用 Spark 创建 REST APIs)。 它受 Ruby 框架 Sinatra 启发。
它有一个不到1M的最小化的内核, 提供了所有基本的特性, 用来构建 RESTful 或者传统的 web 应用程序。

2. java开发 Rest 接口怎样设计api_key 也就是我的api怎样才能不被自由访问,需要在header加入验证

以下仅供参考:
如果rest端要自己维护api_key,类似存储数据库里,就分发(授权)给客户端某个api_key,然后客户端用api_key和一些其他条件如时间戳+签名去rest端换取一个token,最后客户端用这个token和rest端进行交互,可以参考下微信的oauth鉴权.

如果rest端不维护api_key,也就省去分发(授权)客户端api_key的工作,此时客户端用传递的参数和其他条件如时间戳+签名去rest端换取一个token..同上

上述所说的token都是唯一的,对于同一个客户端的请求而言,下次刷取token的时候,之前产生的token作废;
token本身应该要维持在rest端,也应该有一个过期的限制;
(参数)+(api_key)+时间戳 通过加密算法(如sha2)生成签名,rest端同逻辑校验签名是否合法一般就能卡掉一大部分的访问,
至于api_key或者token放在哪里,一般无状态访问比较常见是在head里(常见如angularjs项目),这里我觉得随意,因为只要被拦截都可见,只是head可以放比较多的东西用来障目就是了.

当然,如果正在用的token被拦截,同样也是可以随意访问的,因此可能要求https协议加证书应该会更牢固点(没试过);

一般就这样,再高的我也不懂了,如果陈述有什么问题,者有什么看法,也还请不吝赐教~

3. java使用restful格式有什么好处

好处:
1.REST规范:强调HTTP应当以资源为中心,好带并且规范了资源URI的风格;
2.规范了HTTP请求动作(PUT,POST等)的使用,具有对应的语义;
3.遵循REST规范的Web应用将会获得下面好处:

a.URL具有很强可读性信袜贺的,具有自描述性;
b.资源描述与视图的松耦合;
c.可提供OpenAPI,便于第三方系统集成,提高互操作滑派性;
d.如果提供无状态的服务接口,可提高应用的水平扩展性;

热点内容
上传文件文件夹找不到 发布:2024-09-20 00:26:32 浏览:914
承台箍筋加密区 发布:2024-09-20 00:26:31 浏览:227
笔记本什么配置能流畅运行cf 发布:2024-09-20 00:14:19 浏览:951
实测华为编译器 发布:2024-09-19 23:50:52 浏览:821
linux汇总 发布:2024-09-19 23:46:39 浏览:452
阿里云服务器环境搭建教程 发布:2024-09-19 23:21:58 浏览:837
黄色文件夹图标 发布:2024-09-19 23:19:22 浏览:684
mysql数据库导出导入 发布:2024-09-19 23:00:47 浏览:183
lua脚本精灵 发布:2024-09-19 23:00:41 浏览:659
任务栏文件夹图标 发布:2024-09-19 22:54:25 浏览:101