我正在运行一个Spring boot MVC应用程序,在我的控制器中有一个@RequestParameter,其值为“status”。当我通过请求映射(例如http://localhost:8080/pathToMethod?status=someStatus
@RequestMapping(method = RequestMethod.GET, value ="pathToMethod")
public responseType methodName(
@RequestParam(value = "otherParam", required = false) List<String> param,
@RequestParam(value = "status", required = false) List<String> status,
HttpServletRequest request, HttpServletResponse response){
//code here
}
失败,错误如下:
字段'status'上的对象'ModelAndView'中的字段错误:拒绝值[Soeming];代码[typeMismatch.modelAndView.status, typeMismatch.status, typeMismatch.org.springframework.http.Httpstatus, typeMismate];参数[org.springframework.context.support.DefaultMessageSourceResolable:代码[ModelAndView.status, status];参数[];默认消息[status]];默认消息[无法将类型[java.lang.String]的属性值转换为属性'status'所需的类型[org.springframework.http.Httpstatus];嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将值'Soeming'从类型[java.lang.String]转换为类型[org.springframework.http.Httpstatus];嵌套异常是java.lang.IllegalArgumentException:没有枚举常量org.springframework.http.Httpstatus. Soeming]
是否有任何方法可以绕过Springs对“status”参数的默认处理,以便它不会自动尝试将其转换为HttpACK?
链接到类似问题
使用Spring 4和Java8,可以使用可选的路径变量。
代码:
@RequestMapping(value = {"/path", "/path/{status}")
public String getResource(@PathVariable Optional<String> status) {
if (status.isPresent()) {
return service.processResource(status.get());
} else {
return service.processResource();
}
}
发生这种情况是因为您接受请求参数作为列表,但只传递字符串。
检查以下可能的原因。
1.删除列表
2.为请求参数使用任何其他名称,而不是
status
,因为status
是org.springframework.http.Httpstatus
的默认关键字
问题内容: 我有一个带有列名称的数据表: 其中“列”包含数字值,“期间”列是具有1到48的标识列,因此有48行。 我想将此表按摩成一种格式,在该格式中,我具有“名称”列和“值”列以及“期间”列。 我想创建原始表的视图来执行此操作吗?如何选择列名称,并将其以及该列中的正确值放入NameOfVehicle和Value列中? 问题答案: 如果您有固定的列,则始终可以执行以下操作: 如果列是动态的或未知的
我试图自动创建一个基于名称的Spring Data方法 如果我没有IN,这将是简单的-这是工作: 但是如何在不经过注释的情况下将IN连接到名称中呢?
我正在尝试部署我的spring应用程序。以下是pom的副本。xml文件。 以下是申请的副本。属性文件。 我得到的错误跟踪如下。 我被夹在中间。我几乎没试过什么东西。因为提供entityManager的hibernate JPA启动器是从pom中删除hibernate核心和hibernate实体管理器的。xml也是如此。但我也犯了同样的错误。除此之外,我还创建了自定义datasoruce,如下所示。
但我的代码不起作用,它说类型没有定义:
我试图使用spring data Cassandra将现有的Cassandra表映射到java类中。表名有大写字母,例如“mytable”。但是,当我使用@table(“mytable”)时,spring data cassandra无法识别表,因为它将名称视为小写。 有什么方法告诉spring data cassandra不要将名称转换为小写吗? 示例代码:
我有一个关于Spring注释的问题。在我的(学习)项目中,我定义了两个类,另一个类有两个属性,每种类型一个。为了生成一个错误,我在XML中定义了两个相同类类型的beans,并且在setter方法中使用了@Autowired注释。大概是这样的: 在主类中,我获取此 Bean 的应用程序上下文的实例,并打印覆盖 toString 方法的属性的内容,这是一个简单的测试。我已经读到Spring自动连线注释