java requestparams_java – 如何验证@RequestParams不为空?

我有一个计算器服务,从用户获取操作类型num1和num2.我需要验证用户是否实际输入了这些值,而不是将其留空.

@RequestMapping(value = "/calculate")

@ResponseBody

public CalculationResult calculate(@RequestParam(name = "op") String operation, @RequestParam(name = "num1") Double num1, @RequestParam(name = "num2") Double num2) {

System.out.print("Operation:" + operation);

Double calculate = calculatorService.calculate(operation, num1, num2);

return new CalculationResult(calculate);

}

我有一个集成测试,我需要传递,因为它当前失败并出现错误:

{\”timestamp\”:1488875777084,\”status\”:400,\”error\”:\”Bad

Request\”,\”exception\”:\”org.springframework.web.method.annotation.MethodArgumentTypeMismatchException\”,\”message\”:\”Failed

to convert value of type ‘java.lang.String’ to required type

‘java.lang.Double’;

以下是我的测试用例:

@Test

public void validates_all_parameters_are_set() throws Exception {

ResponseEntity response = template.getForEntity( "/calculate?op=&num1=&num2=",

String.class);

assertThat(response.getStatusCode(), equalTo(HttpStatus.BAD_REQUEST));

assertThat(response.getBody(), equalTo("{\"error\":\"At least one parameter is invalid or not supplied\"}"));

}

我不知道如何验证这一点.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux内核LED子系统、请务必看

前言LED子系统你要是说很难嘛,但是它就是控制一些简单的GPIO口,但是你要是说它很简单嘛,但是我也不见得一个初学者很快就能掌握,你如果是刚入门这部分的话,我觉得你还是要去仔细研究下这些驱动。前两天在网上看到一句话…

UVALive 4394 String painter

题目大意:有两个字符串A,B,一次刷可以把A串一段刷成同一个字母,问至少要刷几次才能把A串变成B串。串长≤100。 本来以为是个很简单的区间DP,后来发现直接区间DP是不行的,这玩意有后效性:刷完一整块之后这一…

centos 6.5 安装 lamp 后mysql不能启动_CentOS 6.5 系统 LAMP(Apache+MySQL+PHP)安装步骤

先来解释一下,什么是 LAMP。正如标题所言,LAMP 实际上就是 Linux、Apache、MySQL、PHP 四个名称的缩写,当然最后一个 “P” 还有其他说法是 Perl 或者 Python。不用多说了,本文讲解的就是 Linux、Apache、MySQL、PHP 这四个东西&a…

Redis连接实例

ECS Windows服务器 如果您本地需要通过公网访问 云数据库 Redis,可以在 ECS Windows 云服务器中通过 netsh 进行端口映射实现。 1. 登录 ECS Windows 服务器,在 CMD 执行以下命令。(公网地址与 连接地址 请替换 为您的实际地址。)…

什么是高内聚,低耦合?

高内聚,低耦合是一个老生常谈的话题,所以拿出来说一下我们在看Linux的一些资料,或者是在面试,又或者跟一个比较牛的大佬讨论技术的时候,可能会听到这个概念。所以,什么是高内聚,低耦合呢&#x…

java 8 兼容_甲骨文限制 Java 9 到 Java 8 的向后兼容性

在开发者们正兴奋着准备把 Java 8 工具包转向 Java 9 的时候,甲骨文的首席执行官提出了要限制两个版本的兼容性。在周一下午 OpenJDK 的邮件列表中的一封邮件中,甲骨文的 Java 平台的首席架构师 Mark Reinhold 指出会对 JDK8 增加更多变化(大概在 2014 年…

Web API 2 入门——创建ASP.NET Web API的帮助页面(谷歌翻译)

在这篇文章中 创建API帮助页面将帮助页面添加到现有项目添加API文档在敞篷下下一步作者:Mike Wasson 创建Web API时,创建帮助页面通常很有用,以便其他开发人员知道如何调用API。您可以手动创建所有文档,但最好尽可能自动生成。 为…

Linux fork的写时复制

这个问题是一个同学在知识星球里面提问的看下面的代码#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/wait.h> #includ…

从单片机工程师的角度看嵌入式Linux

前言 这篇文章简单我们来一起梳理嵌入式Linux的一些知识&#xff0c;方便于一些想跟我一样想要由单片机进阶到嵌入式Linux的朋友做一些参考学习。现在随着嵌入式Linux的教程不断增多&#xff0c;相信应该有不少学单片机的朋友开始折腾这个了吧~嵌入式Linux学哪些东西 1、认识Li…

Java低级编程软件_JAVA语言说低级语言吗

高级语言&#xff1a;C、C、Java、Python、Pascal、Lisp、Prolog、FoxPro、易语言等都是高级语言&#xff0c;相对于低级语言来说&#xff0c;高级语言采用易于识别和记忆的字符来作为关键字&#xff0c;也更接近人类的思维方式&#xff0c;编写容易读写性好&#xff0c;开发效…

智能硬件开发神器免费送!距离产品智能化,只差一个“三明治”的距离

重磅资料包免费领取 针对人群&#xff1a;如果您对“人工智能物联网”感兴趣&#xff0c;尤其是您的企业想做产品/行业智能化&#xff0c;一定不能错过这份“物联网人必备的终极大礼包”哦&#xff5e;这几类行业玩家必看&#xff01;&#xff01;&#xff01;制造商、方案商、…

Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...

39.类的继承java描述类的时候&#xff0c;咱们若是发现有几个类有重复的属性和方法&#xff0c;咱们就能够采用继承的方法来设计ide使用extends关键字来继承this语法&#xff1a;设计class 子类 extends 父类{对象子类属性继承子类方法内存}资源特色&#xff1a;(1)子类会把父类…

你们班上的同学现在都怎么样了?

今天跟朋友聊天&#xff0c;聊到这个话题&#xff0c;觉的有点意思&#xff0c;所以想拿出来讨论一下。小学小学的时候&#xff0c;我们读书最厉害的应该是我们班上几个老师的孩子&#xff0c;他们像是得到了老师的武功秘籍&#xff0c;读书对他们来说就是家常便饭&#xff0c;…

java socket oc_Java Socket编程(三) 服务器Sockets

文章来源&#xff1a;aspcn 作者&#xff1a;孙雯服务器Sockets列表9.2是一个服务器应用程序的一部分.列表9.2 一个简单的服务器程序/*** 一个监听端口并提供HTML文档的程序.*/class SimpleWebServer {public static void main(String args[]){ServerSocket serverSocket null…

浅析bootstrap原理及优缺点

网格系统的实现原理&#xff0c;是通过定义容器大小&#xff0c;平分12份(也有平分成24份或32份&#xff0c;但12份是最常见的)&#xff0c;再调整内外边距&#xff0c;最后结合媒体查询&#xff0c;就制作出了强大的响应式网格系统网格系统的实现原理&#xff0c;是通过定义容…

如何把一个float存到一个长度为4的char数组中?

我以前以为它是可以这样的看代码#include "stdio.h"int main(void) {float fa 123.56;char farray[4] {0};farray[0] ((int)fa>> 24)&0xFF;farray[1] ((int)fa>> 16)&0xFF;farray[2] ((int)fa>> 8 )&0xFF;farray[3] ((int)fa>…

OSPF次末节区域配置 201

【实验拓扑】 【实验基本配置】1、按照上图配置相应接口以及OSPF【实验要求】 1、配置Area 1 为NSSA区域2、在R6上配置1条静态路由160.1.60.0/24指向 Null0&#xff0c;并充分发到OSPF中3、将路由器1的ID修改为150.1.100.100【实验分析】次末节区域&#xff08;NSSA&#xff09…

sort和qsort函数

http://blog.csdn.net/morninghapppy/article/details/6703058 http://blog.csdn.net/rns521/article/details/7473558 http://blog.csdn.net/u012209626/article/details/48792049转载于:https://www.cnblogs.com/Emilylice/p/7689099.html

MTK联发科2021 嵌入式C笔试题分析

题目-分割字符串因为题目是考试的同学凭记忆记下来的&#xff0c;没有记得特别仔细&#xff0c;题目只是写了个大概&#xff0c;我也是凭自己的想法来理解。输入aaa;bbb;ccc输出aaa bbb ccc /*--------------------------------------------*/ 输入,hello,hello,,输出hello hel…

java 打印三维数组_Java基础第三天_数组

1.定义一个函数&#xff0c;函数功能是动态提取int[]中元素的最大值。2.定义一个函数&#xff0c;从数组中查询指定的元素首次出现的位置。3.定义函数&#xff0c;完成冒泡排序&#xff0c;大数下沉。4.折半查找。5.阐述6.定义一个函数&#xff0c;实现矩阵的转置.arr[i][j] a…