如何在Spring Data Rest中更新参考对象?

问题描述

这样的事情怎么样:

curl -v -X PUT -H "Content-Type: text/uri-list" \
     -d "http://localhost:7070/study-spring-data/teacher/1" \
     http://localhost:7070/study-spring-data/course/123/teacher

这是O’Reilly的Spring Data书中建议的方法

解决方法

示例: 班级课程和教师之间存在多对一的关系,如何通过Spring-data rest改变某个课程的教师?

GET http://localhost:7070/study-spring-data/course/2

响应:

{
  "name" : "CSCI-338 Hardcore Java","_links" : [ {
    "rel" : "course.Course.teacher","href" : "http://localhost:7070/study-spring-data/course/2/teacher"
  },{
    "rel" : "self","href" : "http://localhost:7070/study-spring-data/course/2"
  } ]
}

GET http://localhost:7070/study-spring-data/course/2/teacher

响应:

{
  "_links" : [ {
    "rel" : "course.Course.teacher","href" : "http://localhost:7070/study-spring-data/course/2/teacher/1"
  } ]
}

如上所示,课程2与老师1相关联,如何将老师更改为老师2?

我努力了:

成功更新课程名称:

PUT http://localhost:7070/study-spring-data/course/2 带有有效载荷

    {
      "name" : "CSCI-223 Hardcore C++",}

*尝试更新参考对象教师时 *失败

PUT http://localhost:7070/study-spring-data/course/2/teacher

带有有效载荷

    {
      "_links" : [ {
        "rel" : "course.Course.teacher","href" : "http://localhost:7070/study-spring-data/course/2/teacher/2"
      } ]
    }

谢谢!

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”