简体   繁体   English

grails Webflow中的sendResponse

[英]sendResponse within grails webflow

I would like to check if a user is allowed to start a flow by checking if parameters are valid. 我想通过检查参数是否有效来检查是否允许用户启动流程。 If not I will send an error 404. But in the webflow de error response won't be send. 如果没有,我将发送错误404。但是在网络流中,不会发送错误响应。

The webflow always returns status 200. Webflow始终返回状态200。

Does somebody have a solution for this problem? 有人对此问题有解决方案吗?

def shortShopFlow = {
        onStart {
                log.info("starting a new shoppingCart traject")
                Boolean isValidShop = shopService.isValidShop(params.code as String, params.token as String)
                sessionFactory.currentSession.clear()

                if (!params.code || !isValidShop) {
                    response.sendError(404)
                    return
                }
        }

You can do something: 您可以执行以下操作:

MyController{        
  def shortShopFlow = {
    onStart {
            log.info("starting a new shoppingCart traject")
            Boolean isValidShop = shopService.isValidShop(params.code as String, params.token as String)  
            sessionFactory.currentSession.clear()  

            if (!params.code || !isValidShop) {  
                return 404();
            }
           on('404').to ('pageNotFound');
    }
    pageNotFound{
        redirect(action: 'fourZeroFour');
    }
    def fourZeroFour = {
      response.sendError(404);
    }
}

Hope this helps. 希望这可以帮助。

Minhaj 敏哈吉

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM