gpt4 book ai didi

java - 微服务开发中spring boot应用返回对象列表出错

转载 作者:行者123 更新时间:2023-12-02 03:31:48 24 4
gpt4 key购买 nike

  • 我按照 youtube 上的微服务教程创建了独立服务(Spring Boot 应用程序)
  • 我创建了一个服务实现 java 文件,为读取操作的请求映射 URL (/catalog/userId) 提供方法定义
  • 对于上述请求的 URL,返回对象列表作为 HTTP 读取请求的响应正文(HTTP 响应)
  • 在java中,发送对象列表的函数定义发生错误
  • 错误发生在 MovieCatalogResource.java 的第 17 行,指出表达式的开始非法,意外的标记
  • 我研究了这个错误,但仍然对执行感到震惊
  • 请问你们能否通过您的建议帮助解决问题
  • 提供以下代码

CatalogItem.java

package com.example.moviecatalogservice;

public class CatalogItem {
private String name;
private String desc;
private int rating;
public CatalogItem(String name, String desc, int rating){
this.name = name;
this.desc = desc;
this.rating = rating;
}
public int getRating(){
return rating;
}
public void setRating(){
this.rating = rating;
}
public String getName(){
return name;
}
public void setName(){
this.name = name;
}
public String getDesc(){
return desc;
}
public void setDesc(){
this.desc = desc;
}
}

MovieCatalogService.java

package com.example.moviecatalogservice;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.an notation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Collections;
import java.util.List;

@RestController
@RequestMapping("/catalog")
public class MovieCatalogResource {
@RequestMapping("/{userId}")
//public List<CatalogItem> getCatalog(@PathVariable("userId") String userId){
public List<CatalogItem> getCatalog(@PathVariable("userId") String userId){
return Collections.singletonList(
new CatalogItem(name: "transformers", desc:"Test", rating:4)
);
}

}

最佳答案

改变

new CatalogItem(name: "transformers", desc:"Test", rating:4)

new CatalogItem("transformers", "Test", 4)

You must have a matching CatalogItem() constructor in CatalogItem Entity Or Model

MovieCatalogResource.java 的第 17 行进行更改后,它将如下所示

@RestController
@RequestMapping("/catalog")
public class MovieCatalogResource {
@RequestMapping("/{userId}")
//public List<CatalogItem> getCatalog(@PathVariable("userId") String userId){
public List<CatalogItem> getCatalog(@PathVariable("userId") String userId){
return Collections.singletonList(
new CatalogItem("transformers", "Test", 4)
);
}

}
<小时/>

工作示例

Controller.java

@GetMapping("/{id}")
public List<User> getUser(@PathVariable(name="id") int id)
{
return Collections.singletonList(
new User(1,"username")
);
}

User.java

public class User {

private int id;
private String name;
public User(int id, String name) {
super();
this.id = id;
this.name = name;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}


}

使用 Postman 进行测试 enter image description here

关于java - 微服务开发中spring boot应用返回对象列表出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56880981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com