Scala:发送Rest服务的响应代码

时间:2016-07-17 11:31:55

标签: scala web-services rest spring-mvc spring-boot

我有一个类似于下面的控制器:

@RestController
@RequestMapping(Array("/x/hello"))
class HelloController {

    @Autowired
    private val helloService: HelloService = null

    var helloRequest: Option[HelloRequest] = _

    @RequestMapping
    def world: Option[HelloRequest] = {
              helloService.worldInstances
     }

当请求成功使用200状态代码时,worldInstances返回Option [HelloRequest]的实例。

现在当出现问题时,worldInstances会发送一个类型为Option [HelloRequest]的消息。 在这种情况下,我想要一个自定义的状态代码(比如400,它与http状态代码400-Bad Request不同)而不是200.(它发送的响应具有相同的格式,无论成功与否,只是状态代码必须不同)

在这种情况下,如何明确设置状态代码?

1 个答案:

答案 0 :(得分:0)

在spring-mvc中你有@ExceptionHandler@ControllerAdvice,你抛出异常,在exceptionHandler中你决定做什么:

您可以查看:link