rest - 如何在Grails的POST中将引用作为JSON传递给对象

标签 rest grails grails-domain-class grails-2.4

我有2个类Person和和Designation。我正在使用@Resource注释使它们变得安静

            import grails.rest.Resource
            @Resource(formats=['json', 'xml'])

               class Person {
                               String name 
                               static belongsTo = [designation:Designation] 

                            static constraints = {  }
                            }

Designation类是
                import grails.rest.Resource
                @Resource(formats=['json', 'xml'])

                   class Designation {
                                   Long designationId
                                   String name 


                                static constraints = {  }
                                }     

由于我使用的是grails默认资源url映射,例如
"/app/person"(resources: "person",  includes: ['index', 'show', 'save', 'update', 'delete', 'create', 'patch'])

我想使用对带有json数据的/app/person的POST请求来对Person对象进行prform插入。
由于designation属于另一个对象,因此我只需要传递对现有Designation对象ID的引用
我如何通过json传递呢? json格式是做什么的?
还是可以在Person类的beforeInsert()方法中访问参数,以便可以手动获取designatioId,然后找到具有该id的Designation对象,然后为其分配新的Person对象?

最佳答案

我认为如果您添加:

designation: { id: 123 }

给您的人JSON,应该可以解决问题。

关于rest - 如何在Grails的POST中将引用作为JSON传递给对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31132172/

相关文章:

java - android:如何将LinkedHashMap发送到不固定大小的URL

asp.net - 通过 ASP.NET MVC 网站构建 API

grails - 如何覆盖 GORM (Grails) 中的 DomainClass.list()

grails - 使用Grails Assets 重复的jQuery定义

facebook - 链接 facebook 用户时缺少解析 REST Api 的用户密码

grails - 从 grails 3.2 升级到 grails 3.3,GrailsDomainClass Api 已弃用

Grails 域类构造函数使用 id 而不是对象

unit-testing - Grails Spock 单元测试在本地通过但在 CI 环境中失败

grails - Grails/GORM属于返回引用命名

php - 如何使用 DTO 在 PHP 中使用 REST API?