私はこれを回避策としてGrails Restful Link Generatorを使用しています。私はそれに完全に満足しているわけではありませんが、それまでに思いついたことは最高です。
1. 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.お使いのコントローラ(複数可)にRestfulLinkGenerator
を実装し、リンクを生成するためにgenerateLink(id: obj.id)
を呼び出して削除src/main/groovy
で形質を作成します。
@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 ...//
}