b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

spring concent_spring boot_concent与consent

电脑杂谈  发布时间:2017-06-07 03:03:36  来源:网络整理
spring concentspring concent

spring MVC中如何设置应答体的content type呢?

spring MVC中如何设置返回类型呢?

我们知道response 的content type主要有:

text/html

text/plain

application/json;charset=UTF-8

application/octet-stream

先举一个例子,spring mvc中可以通过如下方式返回json字符串:

@ResponseBody
	@RequestMapping(value = "/upload")
	public String upload(HttpServletRequest request, HttpServletResponse response,String contentType2)
			throws IOException {
		String content = null;
		Map map = new HashMap();
		ObjectMapper mapper = new ObjectMapper();

		map.put("fileName", "a.txt");
		try {
			content = mapper.writeValueAsString(map);
			System.out.println(content);
		} catch (JsonGenerationException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		return content;

	}

虽然访问时返回的确实是json字符串,但是response 的content type是"

"这不是我们期望的,我们期望的response content type是"application/json"或者"application/json;charset=UTF-8",那么如何实现呢?

通过注解@RequestMapping 中的produces

用法如下:

@RequestMapping(value = "/upload",produces="application/json;charset=UTF-8")

spring MVC官方文档:

You can narrow the primary mapping by specifying a list of producible media types. The request will be matched only if theAcceptrequest header matches one of these values. Furthermore, use of theproducescondition ensures the actual content type used to generate the response respects the media types specified in theproducescondition. For example:

@Controller
@RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces="application/json")
@ResponseBody
public Pet getPet(@PathVariable String petId, Model model) {
    // implementation omitted
}

Just like withconsumes, producible media type expressions can be negated as in!text/plainto match to all requests other than those with anAcceptheader value oftext/plain.

Tip

Theproducescondition is supported on the type and on the method level. Unlike most other conditions, when used at the type level, method-level producible types override rather than extend type-level producible types.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-51538-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...