Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring数据rest POST请求_Java_Spring_Rest_Spring Data - Fatal编程技术网

Java Spring数据rest POST请求

Java Spring数据rest POST请求,java,spring,rest,spring-data,Java,Spring,Rest,Spring Data,我正在使用Spring Data Rest开发一个测验系统,该系统具有以下结构: 1小测验包含许多问题 一个问题包含许多答案 我们希望用以下URL结构来表示这一点: 获取/测验服务/测验/1/问题/1/答案-获取测验1中属于问题1的所有答案。 POST/测验服务/测验/1/问题/1/答案-在测验1中为问题1添加答案。 POST/测验服务/测验/1/问题-在测验1中添加一个问题 目前,当我们尝试发布到上面的内容时,我们得到了一个HTTP 40左右的代码 以上URL中的所有ID都是唯一的。以下两个不

我正在使用Spring Data Rest开发一个测验系统,该系统具有以下结构:

1小测验包含许多问题
一个问题包含许多答案

我们希望用以下URL结构来表示这一点:

获取/测验服务/测验/1/问题/1/答案-获取测验1中属于问题1的所有答案。
POST/测验服务/测验/1/问题/1/答案-在测验1中为问题1添加答案。
POST/测验服务/测验/1/问题-在测验1中添加一个问题

目前,当我们尝试发布到上面的内容时,我们得到了一个HTTP 40左右的代码

以上URL中的所有ID都是唯一的。以下两个不同的测验涉及同一个问题,会导致问题:

/测验服务/测验/1/问题/1-可以吗
/测验服务/quizzes/2/questions/1-鉴于上述情况,将导致找不到HTTP

我们有一个存储库界面,用于所有3个测试、问答

根据和我们看到的其他人,我们知道您可以发布到/quick service/questions,并且可以包括到测验的链接,或者向测验端点发出第二个请求,添加问题。尽管如此,我们还有什么办法可以做到以上几点吗


提前感谢

Spring Data REST充分利用了超媒体,因此,尽管您对URI结构有一定的控制权,但您无法(或者如果需要)将其调整为您希望的样子。这里的实用方法是利用公开的链接关系,并使用文档中记录的链接关系


随着超媒体的使用,设计URI方案基本上变得无关紧要。重要的是资源公开的表示形式、它包含的链接等。Spring Data REST默认为您提供了很多,所有这些都在上面链接的文档中描述。

您会遇到什么具体错误?我的建议是使用更多端点,并不是因为你的建议不一定能实现,而是从长远来看,它会让人非常困惑。尝试遵循REST模式,并为每个模式设置一个端点,即一个用于添加答案,一个用于添加问题等。您可以将此作为指导,以更直观地设计REST API。特别是“使用RESTful URL和操作”一节