- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我使用下面来获取用户对象时,它工作得很好。
@GetMapping("/findOne")
@ResponseBody
public Optional<AppUser> findOne (Long id) {
return appUserRepository.findById(id);
}
上面给了我一个回复:
{"id":1,"useruuid":"863db606-9af6-48a8-963a-07b9fe0fc4fc","useremail":"user1@mydomain.com"}
现在,我正在尝试使用以下方法基于 UUID(4) 进行搜索:
@GetMapping("/findOneUsingUUID")
@ResponseBody
public AppUser findOne (String useruuid) {
return appUserRepository.findByUseruuid(useruuid);
}
这不会返回任何东西。没有错误,没有任何警告。虽然这给了我我需要的所有细节:
AppUser appUser = appUserRepository.findByUseruuid("863db606-9af6-48a8-963a-07b9fe0fc4fc");
System.out.println(" >>> " + appUser.getUseruuid());
System.out.println(" >>> " + appUser.getId());
System.out.println(" >>> " + appUser.getUseremail());
这是我的存储库中的内容
@Repository
public interface AppUserRepository extends JpaRepository<AppUser, Long> {
AppUser findByUseruuid(String useruuid);
和实体
@NotEmpty
@Column(name = "useruuid")
@GenericGenerator(name = "uuid", strategy = "uuid4")
private String useruuid;
问题:
@GetMapping("/findOneUsingUUID")
没有返回任何东西?任何相关信息/帮助/链接将不胜感激。
@RequestMapping(value = { "tableusers" }, method = RequestMethod.GET)
public String listUsers(ModelMap model) {
AppUser appUser = appUserRepository.findByUseruuid("863db606-9af6-48a8-963a-07b9fe0fc4fc");
System.out.println(" >>> " + appUser.getUseruuid());
System.out.println(" >>> " + appUser.getId());
System.out.println(" >>> " + appUser.getUseremail());
String tableusers = "tableusers";
model.addAttribute("tableusers", tableusers);
List<AppUser> users = appUserService.findAllUsers();
model.addAttribute("users", users);
model.addAttribute("metaTitle", "All Users");
return "user_table_data_table";
}
更新 2:
@RequestMapping(value = "/findOnebyId/{uuid}", method = RequestMethod.GET)
@ResponseBody
public AppUser findOneByUUID2(@PathVariable final String useruuid) {
return appUserRepository.findByUseruuid(useruuid);
}
所以我的 URL 变得类似于这样:
http://localhost:8080/findOnebyId?id=eeadf17f-13f2-4939-bab6-2534fcc1f4d4
但是现在我的浏览器控制台出现 404 错误。
最佳答案
我根据你的 GitHub 代码尝试了这个,并且 API 通过 Postman 对我来说完美无缺。问题可能与您调用 API 的方式有关。
在评论部分,您提到您将值作为路径变量传递给 Controller 。但是您还没有添加 @PathVariable
Controller 方法中的注解。所以 Controller 方法需要一个查询参数,而不是一个路径变量。请尝试通过传递 UUID 作为参数来调用 API。
编辑
查看您的 GitHub 代码,您将 API 调用为 url: "/findOnebyId?id="+ id
.
@GetMapping("/findOnebyId")
@ResponseBody
public AppUser findOneByUUID(String useruuid) {
return appUserRepository.findByUseruuid(useruuid);
}
在这个 Controller 方法中,你期待
useruuid
作为查询参数。但是在您的 datatables.html 文件中,您将查询参数发送为
id
.
@PathVariable
注释并更正 AJAX 请求中的查询参数名称。
关于java - @ResponseBody 返回空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62688472/
有什么区别吗 @ResponseBody public Object method(etc..) { etc.. } 和 public @ResponseBody Object method(
我有多个返回 JSON 对象的 REST 端点。对于大多数区域设置,响应都是正确的(所有符号都正确显示在响应中,并且内容类型为 application/json)。 如果我提供值为“en_NL”的 A
我有一个@restController类型 Controller ,当我访问请求的资源时,我得到一个json作为响应,问题是所有属性都出现在我看来,并且它不尊重我生成的构造函数。 但是,该类的所有属性
当我使用下面来获取用户对象时,它工作得很好。 @GetMapping("/findOne") @ResponseBody public Optional findOne (Long id) {
我有一个用于普通旧 xml Web 服务的 Spring MVC Controller ,方法如下: @RequestMapping( value = "/trade/{tradeId
我有一些东西可以通过 spring security 进行 ajax 登录: @RequestMapping(value="/entry.html", method=RequestMethod.GET
我有一个要求,我想处理异常的返回方式。根据 Controller 方法的类型,如果使用 @ResponseBody 注释,则应返回一个 json 字符串。此外,如果它是一个 String 返回方法,则
@ResponseBody 转化成json后与实体类字段名不一致 实体类A字段名由B改成C后,Controller 中返回的List中字段名仍然是C 经过@ResponseBody返回到前台后又变成了
我正在看一段代码,其中我假设spring决定在幕后使用Jackson为@RestController自动将对象转换为json @RestController @RequestMapping("/ap
它可能很简单,但它对我理解非常有帮助...... 我在我的 restcontroller 中使用 @ResponseBody 将 String 值返回给浏览器。浏览器成功接收响应字符串。 即: @Re
使用 @ResponseBody 时有没有办法将空值映射到空字符串的注释? 最佳答案 你将不得不编写一个自定义的 Jackson Serializer - 一个很好的例子在这里 - http://wi
我想在 spring mvc 方法中重定向到另一个 .jsp。我不想使用 javascripts 方法,例如:window.location.replace(url)。 我的方法: @RequestM
我有一个 RestController,它将 Film 对象列表发送回用户: @RestController @RequestMapping("/view") public class FilmRes
在 Spring Boot 中,我有最简单的 Controller ,返回我的 View 名称: @Controller public class HelloController { @Req
我只想将我的用户对象作为 JSON 返回,以供客户端的 ajax 调用使用。 这在某一点上是有效的,经过一些更新(即,将应用程序更改为部署到/在 Jetty 中),现在就不行了。 我没有从代码中抛出异
我基于 Spring MVC 构建我的 Web 应用程序,并在尝试在处理 ajax 请求的方法中添加 cookie 时遇到问题。 我意识到带有@ResponseBody 的方法(在我的示例中它返回一个
我希望我的字符串方法返回值。下面的代码返回一个 View (jsp)。在代码“line”中存储产品详细信息。我希望该方法返回该值。有人可以告诉我该怎么做吗? @RequestMapping(value
我正在尝试从网站获得响应。我正在使用 HttpURLConnection 类。 这是我的代码: BufferedReader in = null; in = new Buffer
我有以下 Spring @RestController 方法 @RequestMapping(value = "/getPeople", method = RequestMethod.GET) pub
如何创建用于模拟以下服务的 ResponseBody 对象? public interface SBRestfulApi { @FormUrlEncoded @POST("authen
我是一名优秀的程序员,十分优秀!