gpt4 book ai didi

rest - Grails 3 Restful Link Generator(无 Action )

转载 作者:行者123 更新时间:2023-12-02 14:40:10 24 4
gpt4 key购买 nike

有没有一种方法可以重新配置Grails 3链接生成器以创建Restful链接,即localhost:8080/book/{id},而不是在URL中包括localhost:8080/book/show/{id}的操作的旧样式?

我想在响应的位置 header 中添加静态网址,以保存操作。

最佳答案

我一直在使用此Grails Restful Link Generator作为解决方法。我对此并不满意,但这是迄今为止我能想到的最好的。

1.在src/main/groovy中创建一个特征,以从URL 中删除多余的操作

import grails.web.mapping.LinkGenerator

trait RestfulLinkGeneratorTrait {

LinkGenerator grailsLinkGenerator

String generateLink(Map map) {
map.controller = map.controller ?: this.controllerName
map.absolute = map.absolute ?: true
map.action = map.action ?: "show"
grailsLinkGenerator.link(map).replace("/$map.action", "")
}
}

2.在您的 Controller 上实现RestfulLinkGenerator并调用generateLink(id: obj.id)生成链接。
@Secured('ROLE_USER')
class BookController extends RestfulController implements RestfulLinkGeneratorTrait {

//... other methods ...//

@Transactional
def save() {
// ... save you resource ... //
response.addHeader(HttpHeaders.LOCATION, generateLink(id: book.id))
respond book, [status: CREATED, view: 'show']
}

//... other methods ...//

}

关于rest - Grails 3 Restful Link Generator(无 Action ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41174941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com