这是一个春季项目。我使用下面的代码来处理传入的http GET请求,它的格式为http://xxx.comm/vastTracking?rtbProvider=AAA&adGroupKey=BBB&transactionId=CCC&event=DDD。 当服务器运行时,大多数请求都会被正确处理,但有些会抛出异常 - 主要是
unhandled exception
org.springframework.web.bind.MissingServletRequestParameterException: Required VastEventType parameter 'event' is not present.
他们很少有机会#34;字符串无法转换为VastEventType"类型,或者"参数adGroupKey未显示"。
看起来传入的请求有时会修剪URL。请求网址由我的系统提供,因此它不应该丢失,尽管它是由用户的视频播放器发送的。 我想知道这是怎么发生的,所以我想要一种在抛出异常时打印出URL的方法。到目前为止,我刚刚找到了打印所有传入URL的方法。
我的代码:
@Controller
public class VastEventTrackingController {
@RequestMapping(method = RequestMethod.GET, value = "/vastTracking")
public ResponseEntity<String> vastEventTrack( @RequestParam("rtbProvider") String strRtbProvider,
@RequestParam("adGroupKey") String strAdGroupKey,
@RequestParam("transactionId") String strTransactionId,
@RequestParam("event") VastEventType event,
HttpServletRequest request) {
...
}
..
}
答案 0 :(得分:0)
默认情况下,所有请求参数均为required
。见春doc。如果您想让它们成为可选项,则应设置required=false
。
@RequestParam(value = "event",required = false) VastEventType event