跳到主要内容

6.11 响应 Content-Type

默认情况下,Micronaut 控制器操作会生成 application/json。但是,你可以使用 @Produces 注解或 HTTP 方法注解的 produces 成员更改响应的内容类型。

import io.micronaut.context.annotation.Requires;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
import io.micronaut.http.annotation.Produces;

@Controller("/produces")
public class ProducesController {

@Get // (1)
public HttpResponse index() {
return HttpResponse.ok().body("{\"msg\":\"This is JSON\"}");
}

@Produces(MediaType.TEXT_HTML)
@Get("/html") // (2)
public String html() {
return "<html><title><h1>HTML</h1></title><body></body></html>";
}

@Get(value = "/xml", produces = MediaType.TEXT_XML) // (3)
public String xml() {
return "<html><title><h1>XML</h1></title><body></body></html>";
}
}
  1. 默认内容类型为 JSON
  2. @Produces 注解控制器操作以更改响应内容类型。
  3. 设置方法注解的 produces 成员也会更改内容类型。

英文链接