- 浏览: 7863433 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
在rest中,其实如果要抛出异常或者给出出錯信息,返回的相关的HTTP 状态码,最简单的
方法就是使用ResponseEntity,马上看例子:
方法就是使用ResponseEntity,马上看例子:
@Controller public class EmpController { List<Employee> list = new ArrayList<Employee>(); //Steps followed in this code are: //1) Validate the input //2) Do processing //3) Return appropriate HTTP code and message. @RequestMapping(value = "/getEmp/{emp}", method = RequestMethod.GET) public ResponseEntity<?> getEmployee(@PathVariable("emp") int empid) { if(empid < 0) { return new ResponseEntity<String>("Employee Id is not valid.", HttpStatus.BAD_REQUEST); } for (Iterator<Employee> iterator = list.iterator(); iterator.hasNext();) { Employee emp = (Employee) iterator.next(); if(emp.getEmpId()==empid) { return new ResponseEntity<Employee>(emp,HttpStatus.OK); } } return new ResponseEntity<String>("Employee with id: " + empid + " not found.", HttpStatus.NOT_FOUND); } @RequestMapping(value = "/removeEmp/{emp}", method = RequestMethod.DELETE) public ResponseEntity<?> removeEmployee(@PathVariable("emp") int empid) { if(empid < 0) { return new ResponseEntity<String>("Employee Id is not valid.", HttpStatus.BAD_REQUEST); } for (Iterator<Employee> iterator = list.iterator(); iterator.hasNext();) { Employee emp = (Employee) iterator.next(); if(emp.getEmpId()==empid) { iterator.remove(); return new ResponseEntity<String>("Employee Successfully removed.", HttpStatus.OK); } } return new ResponseEntity<String>("Employee Not found.", HttpStatus.NOT_FOUND); } @RequestMapping(value = "/addEmp", method = RequestMethod.POST) public ResponseEntity<?> addEmployee(@RequestBody Employee emp) { if(emp.getEmpId() < 0) { return new ResponseEntity<String>("Employee Id is not valid.", HttpStatus.BAD_REQUEST); } if(StringUtils.isBlank(emp.getDeptName())) { return new ResponseEntity<String>("Department name is not valid.", HttpStatus.BAD_REQUEST); } for (Iterator<Employee> iterator = list.iterator(); iterator.hasNext();) { Employee tempEmp = (Employee) iterator.next(); if(tempEmp.getEmpId()==emp.getEmpId()) { return new ResponseEntity<String>("Employee already present. No need to add again", HttpStatus.OK); } } list.add(emp); return new ResponseEntity<String>("Employee Successfully Added", HttpStatus.OK); } @RequestMapping(value = "/updateEmp", method = RequestMethod.PUT) public ResponseEntity<?> updateEmployee(@RequestBody Employee emp) { if(emp.getEmpId() < 0) { return new ResponseEntity<String>("Employee Id is not valid.", HttpStatus.BAD_REQUEST); } if(StringUtils.isBlank(emp.getDeptName())) { return new ResponseEntity<String>("Department name is not valid.", HttpStatus.BAD_REQUEST); } for (Iterator<Employee> iterator = list.iterator(); iterator.hasNext();) { Employee tempEmp = (Employee) iterator.next(); if(tempEmp.getEmpId()==emp.getEmpId()) { tempEmp.setDeptName(emp.getDeptName()); return new ResponseEntity<String>("Employee Successfully updated", HttpStatus.OK); } } return new ResponseEntity<String>("Employee Not found.", HttpStatus.NOT_FOUND); } @ExceptionHandler public ResponseEntity<String> exceptionHandler(Exception e){ e.printStackTrace(); return new ResponseEntity<String>("An internal error occurred while processing your request.", HttpStatus.INTERNAL_SERVER_ERROR); } }
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1495方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 1972前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3420info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2192import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 454https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 638public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 563https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 631https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 405https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 4691 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3049微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 567https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1789什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 918本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1273原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 816public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 627在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 889-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 716一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1861介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
简单身份验证将身份验证嵌入到API中,因此您无需进行处理。 最重要的是,它可以与传统Xamarin和Xamarin一起很好地工作。 Android: iOS / MacOS: 一般信息 在Nuget上可用 提供者 当前内置的提供程序 Azure活动...
将Advanced REST Client用作您最喜欢的API文档工具Advanced Session Management Advanced REST Client具有用于通过cookie管理您的会话的工具。它使您可以直接创建/编辑Cookie或使用内置的Chrome网络浏览器登录到外部...
WordPress的REST API :fire: 出色地 :front-facing_baby_chick: WordPress REST(表示状态传输)Api(应用程序编程接口)将使您能够从您的站点或任何其他站点中提取特定数据,并对这些数据进行任何处理。 但是在这些...
通过定义数据库模型和关系来创建简单 Rest API 的最快方法。 主要特征 自动路由创建 自动路由处理 表单验证支持 中间件 强大的查询功能 递归资源 可扩展的业务逻辑结构 多数据库支持(Postgres、MSSQL、MySQL、...
koa-rest-api 使用MongoDB的简单Koajs REST API npm安装npm开始尝试使用纯文本用户名“ user”和密码“ pwd”进行身份验证(在接下来的阶段中,这些密码必须来自数据库,并且显然必须对密码进行哈希处理) curl -X...
Filmster 是一个演示(示例)项目,它演示了延迟加载 ListView 中的 REST 处理 REST API 由使用演示数据的模拟服务器提供(在 imdb.com 上公开提供) 技术细节 电影通过具有特定响应侦听器的异步任务从 REST API ...
鼓动者基于最小文件树的api路由器,用于使用节点构建rest api关于ftrouter最初是Next.js的Api Routes实现的克隆,现在正与其他框架竞争,这是设置API路由的最简单方法。 关于为什么使用文件夹树使原子化和更容易处理...
沃森Web服务器 简单,可扩展,快速,异步的Web...Pages属性,用于设置应如何发送404和500响应(如果未在应用程序中处理) 合并测试应用程序 现在自动加载基于属性的路由,删除了LoadRoutes方法 重组HttpContext , H
AJAX技术遵守REST准则的应用程序中简单和可伸缩的架构,凡是采用AJAX技术的页面简洁而又丰富,一个页面表现了丰富多彩的形态。 AJAX技术还使用了一种不同于XML格式的JSON文件格式,这个意义在哪里呢?在REST软件...
漂亮的架构设计让这些关注点尽可能分离,然后以最简单的机制结合在一起,从而得到高内聚、低耦合的系统。例如在Darkstar项目中,架构师们考虑的重点就是如何将多人在线游戏的游戏逻辑与系统的可伸缩性分离开来,让...
11.5 创建一个简单的REST接口 11.6 通过XML-RPC实现简单的远程调用 11.7 在不同的Python解释器之间交互 11.8 实现远程方法调用 11.9 简单的客户端认证 11.10 在网络服务中加入SSL 11.11 进程间传递Socket文件...
Fermata是一个JavaScript REST库,您可以使用干净的语法简单地声明HTTP请求。 特征: 干净地构建URL字符串(可选的点语法-node.js ,支持浏览器)并发送异步HTTP请求 JSON请求/响应数据的自动转换 轻松发送原始...
8.3 os中的异常 119 8.3.1 路径 120 8.3.2 目录内容 122 8.3.3 获取文件信息 123 8.3.4 重命名、移动、复制和删除 文件 125 8.3.5 示例:轮换文件 126 8.3.6 创建和删除目录 127 8.3.7 通配 128 8.4 本章小结 129 ...
这种方法看似简单,但其计算复杂度比较高,实现起来比较困难,只适合用于小型问题中; (2)间接法,主要是通过组合多个二分类器来实现多分类器的构造,常见的方法有one-against-one和one-against-all两种。 一...
在您的virtualenv中安装pyblueprints的最简单方法是: 点安装pyblueprints 用法 此版本的pybluerprints允许您通过Rexster实例或通过neo4j-rest-client API连接到图形数据库。 因此,尽管Neo4j事务处理模式仅在以后...
清洁/洋葱架构 遵循最常见的REST API原则 在考虑扩展的情况下处理最典型用例的代码结构 带有UI的Swagger / OpenAPI 开发/质量检查/生产配置 数据库播种 全局错误处理 模型映射 验证方式 综合测试(功能,集成和单元...
盒式磁带 在您的测试环境中记录并重播成功的HTTP响应...配置Cassette的最简单方法是使用 。 它将允许您将ReplayingHandler添加到每个HttpClient 。 也提供一个使用示例。 services . AddRefitClient () . ConfigureH
采用无服务器的最简单方法 | 入门 要开始使用Webiny,只需 :rocket: Webiny是采用无服务器的最简单方法! 想建立一个API吗? 一个React应用? 适用于您的产品,网站或移动应用程序的完整管理应用程序? 有了Webiny...
该插件非常基础,它在其UI中使用了侧边栏,但我并未对此API进行过很多研究,它似乎是拥有基于HTML的UI的最简单方法添加的html将使用jquery和bootstrap来处理所有AJAX调用,我们需要注意本地化,但这将再次留给html...
是 chrome 的 REST 客户端,它是测试 HTTP 端点的最简单方法。 以下是将文件上传到 nodeFileUploader 所需的设置。 #使用HTTPie上传文件 HTTPie 是一个跨平台的 HTTP 客户端,可以从这里下载。 上传文本文件...