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

Scala:发送Rest服务的响应代码,scala,web-services,rest,spring-mvc,spring-boot,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[Hel

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

@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返回选项[HelloRequest]的实例

现在,当出现问题时,worldInstances会发送Option[HelloRequest]类型的消息。 在这种情况下,我需要一个定制的状态代码(比如400,它与400个错误请求的http状态代码不同),而不是200。(无论是否成功,它发送的响应的格式都相同,但状态代码必须不同)


在这种情况下,如何显式设置状态代码

在spring mvc中,您有
@ExceptionHandler
@ControllerAdvice
,您抛出异常,并在ExceptionHandler中决定执行什么操作:


对于ref,您可以查看:

在spring mvc中,您有
@ExceptionHandler
@ControllerAdvice
,您抛出异常,并在ExceptionHandler中决定要做什么:


关于ref,您可以查看:

控制器是否自动将响应编码为json?请参阅编辑后的问题。响应类型为DAASRequest控制器是否自动将响应编码为json?请参阅编辑后的问题。响应类型为DaasRequest