1

在用户点击触发我的Spring 云功能的 URL 之后(稍后将部署为 Amazon Lambda),并且正在完成一些逻辑......我想将用户重定向到某个 URL

这是我到目前为止所拥有的:

@RestController
public class ScanQrCode implements Function<String, ResponseEntity<Void>>{

    @Autowired
    private QrCodeRepository qrCodeRepository;

    @Override
    public ResponseEntity<Void> apply(String s) {
        
        Optional<QrCode> qrCodeFromDb = qrCodeRepository.findByText("burger_box");
        if(qrCodeFromDb.isPresent()) {
            QrCode qrCode = qrCodeFromDb.get();
            long scanCount = Long.valueOf(qrCode.getScanCount());
            qrCode.setScanCount(++scanCount);
            qrCodeRepository.save(qrCode);
        }
        
        return ResponseEntity.status(HttpStatus.FOUND)
                .location(URI.create("http://www.google.com"))
                .build();
        
    }

}

当点击触发上述函数的 URL 时,它返回以下 json 对象(用 Postman 测试):

 {
    "headers": {
        "Location": [
            "http://www.google.com"
        ]
    },
    "body": null,
    "statusCodeValue": 302,
    "statusCode": "FOUND"
}

但它实际上并没有重定向用户......所以这里缺少什么?

4

1 回答 1

0

找到解决方案....

当 AWS 调用此函数时,重定向会返回到 AWS 并因此被执行……localls 很难测试,因为我实际上无法测试它。

于 2020-07-15T13:44:07.810 回答