【问题标题】:Simple Spring Boot Application - HttpServletResponse needed简单的 Spring Boot 应用程序 - 需要 HttpServletResponse
【发布时间】:2015-04-07 10:05:32
【问题描述】:

我想要最简单的 Spring Boot 应用程序,例如...

@Path("/")
@Component
public class RestResource {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/hello")
    public String hello() {
        return "Hello World";
    }
}

我想构建一个 REST 应用程序,我需要 HttpServletResponse,因为我想检查一些条件,然后进行重定向。

@Context
private HttpServletResponse servletResponse;

...

if (...)
    servletResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
    servletResponse.sendRedirect(...);
else
    servletResponse.setStatus(HttpServletResponse.XYZ);
    servletResponse.sendRedirect(...);

在 Spring Boot 应用程序中获取 HttpServletResponse 的最佳方法是什么?

【问题讨论】:

    标签: spring servlets spring-boot


    【解决方案1】:

    如果您需要HttpServletResponse,请使用以下方法。

    @RequestMapping("/urlmapping") 
    public String method(HttpServletResponse response){
    
      .....
    
      if (...)
        response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
        response.sendRedirect(...);
      else
        response.setStatus(HttpServletResponse.XYZ);
        response.sendRedirect(...);
    
      .....
    
    }
    

    在上面的例子中,HttpServletResponse 对象将被注入。

    在我使用@RequestMapping 的示例中,它也应该适用于@Path

    【讨论】:

    • @Path 是 JAX-RS 注解,因此 RequestMapping 是 Spring 应用程序的必要注解。
    猜你喜欢
    • 2017-01-11
    • 2019-07-20
    • 1970-01-01
    • 2022-10-23
    • 2018-09-04
    • 1970-01-01
    • 2016-08-13
    • 2018-12-03
    • 2020-05-23
    相关资源
    最近更新 更多