Galera, to começando a brincar com o Grails 3.1 e lendo a documentação criei uma APP com o profile rest-api.
Primeiro: Criei uma domain class e anotei ela como resource. Daí o Grails gerou as urls: Ex:
@Resource(uri="/categories",readOnly = true, formats = ['json', 'xml'])
class Category {
String name
}
?Ficou perfeito. com os Endpoints padrão; "/categories/" , /categories/1"
Depois criei uma classe "Customer"
class Customer {
String name
static constraints = {
}
}
Ai criei um RestfulController:
class CustomerController extends RestfulController {
static responseFormats = ['json', 'xml']
CustomerController(){
super(Customer)
}
}
Ai começam as minhas dúvidas: Pelo que eu entendi da documentação o Controller geraria os endpoints padrão, com os nomes no plural: "/customers", mas isso não aconteceu. Se eu digito "/customer" ele funciona com o index pois o mapeamento no URL Mappings padrão existe:
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
Ou seja, não existe diferença nenhuma no restful-controller? Se eu precisar sobrescrever apenas o Index, por exemplo, eu vou ter que sobrescrever todos outros métodos? Estou meio confuso com relação a isso!