当前位置: 首页 > 面试题库 >

调用Spring Data Rest Repository方法不会返回链接

叶声
2023-03-14
问题内容

我有存储库“ ClientRepository”:

public interface ClientRepository extends PagingAndSortingRepository<Client, Long> {
}

当我请求http:// localhost:8080 / clients /
1时,
服务器响应

{
  "algorithmId" : 1,
  "lastNameTxt" : "***",
  "firstNameTxt" : "**",
  "middleNameTxt" : "**",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/clients/1121495168"
    },
    "client" : {
      "href" : "http://localhost:8080/clients/1121495168"
    }
  }
}

响应具有预期的链接。

当我在另一个控制器中调用存储库继承的方法findOne时

@RestController
public class SearchRestController {

    @Autowired
        public SearchRestController(ClientRepository clientRepository) {
            this.clientRepository = clientRepository;
    }

    @RequestMapping(value = "/search", method = RequestMethod.GET)
        Client readAgreement(@RequestParam(value = "query") String query,
                @RequestParam(value = "category") String category) {
    return clientRepository.findOne(Long.parseLong(query));
    }
}

它回应

{
      "algorithmId" : 1,
      "lastNameTxt" : "***",
      "firstNameTxt" : "**",
      "middleNameTxt" : "**"
}

为什么在第二种情况下响应不包含链接?如何使Spring添加他们的响应?


问题答案:

HATEOAS功能仅对于带有注释的Spring数据jpa存储库可用@RepositoryRestResource。这将自动公开其余端点并添加链接。

在控制器中使用存储库时,只需获取对象,杰克逊映射器便将其映射到json。

如果您想在使用Spring MVC控制器时添加链接,请看这里



 类似资料:
  • 按照说明:编写一个静态方法,将一个整数作为形参,如果参数值为偶数,则返回布尔值True,如果参数值为奇数,则返回False。我的方法似乎必须调用int而不是布尔值。话虽如此,我不知道如何从调用int的方法返回布尔值。我试过了,但不管用。 编辑语言是Java。\nedit 2-对于将来关注此问题的人来说,我最初的意思是键入私有静态int result。不是私有的静态布尔结果。那个错误最终修复了我的代

  • 问题内容: 我正在Windows上的Go 1.6中工作,尝试将证书容器导出到PFX(此处的最终目标是从证书存储区访问可导出的私钥)。 我已经打开了一个内存存储并将证书插入到存储中: 现在,我想生成该商店的PFX。我已经定义了一个用于包含数据blob的结构,并希望使用PFXExportCertStoreEx来获取商店的PFX: 这 一半 有效。 填充了看起来像一个适当的值(即,如果我增加更多的证书商

  • 我创建了一个接口,以便可以在对话和片段之间进行通信。 目标:当用户从对话框中选择任何内容时,应将其显示在文本视图中。 在这个界面中,我创建了一个界面方法,在主活动中调用,并传递用户在对话框中选择的值。与用户选择的值一起,在我的片段中,我创建了一个方法,将文本视图设置为该值。然而,每当我调用该方法时,它总是返回null。 我对日志进行了大量测试,发现通过我的方法传递的值不是空的,一切似乎都按照我想要

  • 问题内容: 有没有一种方法可以等待诺言,以便您可以从中获得实际结果并返回,而不是返回诺言本身?我在考虑类似于C#await关键字与Tasks一起工作的方式。 这是为什么我想拥有像canAccess()这样的方法的示例,该方法返回true或false而不是promise,以便可以在if语句中使用它。方法canAccess()将使用$ http或$ resource进行AJAX调用,然后以某种方式等待

  • 我读了一些关于它的帖子,但是没有解决我的问题。我有一个类是单例的,这个类的一个方法正在另一个类中调用。我需要模拟这个方法调用。 另一类是: 我在嘲笑我在测试课上学到的方法。我曾尝试使用doReturn,而不是其他帖子中建议的Return,但没有帮助。 我的测试课程是: 那么为什么当a.doSomeStuff被调用时我不能实现呢?这里怎么了?

  • 问题内容: 使用模拟编写单元测试时遇到问题。我需要模拟的对象有很多吸气剂,我确实在代码中称呼它们。但是,这些不是我的单元测试的目的。因此,有一种方法可以模拟所有方法,而不是一个个地模拟它们。 这是代码示例: 这是我需要测试的服务等级 在测试类中,测试方法就像 因此,有一种方法可以避免将所有无用的“ field1”的“ when”写入“ field20” 问题答案: 您可以控制模拟的默认答案。在创建