我有这个枚举:
public enum SortEnum {
asc, desc;
}
Run Code Online (Sandbox Code Playgroud)
我想用作休息请求的参数:
@RequestMapping(value = "/events", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<Event> getEvents(@RequestParam(name = "sort", required = false) SortEnum sort) {
Run Code Online (Sandbox Code Playgroud)
我发送这些请求时工作正常
/events
/events?sort=asc
/events?sort=desc
Run Code Online (Sandbox Code Playgroud)
但是当我发送时:
/events?sort=somethingElse
Run Code Online (Sandbox Code Playgroud)
我在控制台中得到500响应和此消息:
2016-09-29 17:20:51.600 DEBUG 5104 --- [ XNIO-2 task-6] com.myApp.aop.logging.LoggingAspect : Enter: com.myApp.web.rest.errors.ExceptionTranslator.processRuntimeException() with argument[s] = [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type [java.lang.String] to required type [com.myApp.common.SortEnum]; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@org.springframework.web.bind.annotation.RequestParam com.myApp.common.SortEnum] for value 'somethingElse'; …Run Code Online (Sandbox Code Playgroud) 触发器和约束的执行顺序是什么?例如,如果我插入一个错误的外键,pgsql 会在我自己的触发器之前(BEFORE 或 AFTER)检测到这个 fk 吗?
我知道触发器内的异常将回滚在同一个触发器内执行的任何更新/插入(即使对于 AFTER 触发器),但约束是否相同?外键约束是否会从我自己的触发器回滚我所有的插入/更新?
谢谢你
如果客户端尝试更新资源时 URI 的 id 与正文的 id 不同,那么响应应该是什么?EG :
URI:
PUT /members/123
Run Code Online (Sandbox Code Playgroud)
身体
{
id : 456,
name : "john"
}
Run Code Online (Sandbox Code Playgroud) java ×1
postgresql ×1
put ×1
rest ×1
spring ×1
spring-boot ×1
spring-web ×1
sql ×1
triggers ×1