支持多种Content-Type类型的方法(衍生到Header的设置)

    刚才看到一个问题,他的同事(我的同事系列…)在使用@RequestMapping时,他的请求头Content-Type需要application/json,application/x-www-form-urlencoded只支持这两个类型,即只有请求头中Content-Type为这两种类型时才会映射,对于这种情况,可以使用以下方式:
@RequestMapping(consumes = {"application/json","application/x-www-form-urlencoded"})
其中的consumes是String[] 类型。

    另外如果你想支持除这两个之外的Content-Type类型,可以在类型前面加非!,如下所示
@RequestMapping(consumes = {"!application/json","!application/x-www-form-urlencoded"})
    这个表示支持除了这两个以外的所有类型的映射。

    如果你想设置其他的请求头怎么办?可以使用headers:
@RequestMapping(headers = {"content-type != application/json"})
    同样可以使用非!,或者通配符*
@RequestMapping(headers = {"content-type != application/*"})

来源:http://docs.spring.io/spring/…

    原文作者:jin2ml
    原文地址: https://segmentfault.com/a/1190000010420384
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞