Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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引导控制器呈现页_Java_Spring Boot_Rest_User Interface_Modelmapper - Fatal编程技术网

Java 无法从Spring引导控制器呈现页

Java 无法从Spring引导控制器呈现页,java,spring-boot,rest,user-interface,modelmapper,Java,Spring Boot,Rest,User Interface,Modelmapper,问题:我已经开发了一个SpringBootRESTAPI,我可以从POSTMAN调用它。 现在我从一个页面请求相同的RESTAPI方法。但它只呈现一个字符串。无法加载实际页面 这是我的控制器: @RestController @RefreshScope @RequestMapping("/shopping") public class ShoppingController { @RequestMapping(value="/productList") p

问题:我已经开发了一个SpringBootRESTAPI,我可以从POSTMAN调用它。 现在我从一个页面请求相同的RESTAPI方法。但它只呈现一个字符串。无法加载实际页面

这是我的控制器

@RestController
@RefreshScope
@RequestMapping("/shopping")
public class ShoppingController {

@RequestMapping(value="/productList")
public String listAllProducts(ModelMap model){
    
    logger.info("ShoppingMS : listAllProducts()");
    
    ResponseEntity<List<Product>> responseProductList = prodServ.listAllProducts();
    List<Product> products = responseProductList.getBody();
    
    if(products.isEmpty()) {
        logger.info("No Products Found");
    }
     
    logger.info("No of products fetched : " +products.size());
    
    model.addAttribute("products", products);
    return "productList";
}
}
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
请告诉我哪里做错了。我能够呈现index.html页面。但不是这一页


更新:我已经提供了我正在使用的Maven依赖项以及在我的Rest控制器类上使用的注释。

我相信您也是

  • 缺少
    spring boot starter thymeleaf
    依赖项。此依赖项包含thymeleaf模板解析程序(返回类型字符串到html模板名称)和实际呈现所需的依赖项和自动配置

org.springframework.boot
弹簧启动装置
  • 或者在控制器类中使用@Controller而不是@RestController@默认情况下,RestController返回json响应。对于模板呈现,应使用@Controller
回答:


使用
@Controller
而不是
@RestController
解决了问题。现在可以呈现html页面。

能否共享POM.xml或build.gradle文件?我已更新了我的问题,以显示我正在使用的依赖项和控制器注释。不管你说什么,它已经在那里了。但它不起作用。此外,我还有一个“/”映射,它呈现
索引
页面。当调用“/”时,它会正确呈现页面。但这不是
/shoppingList
页面。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Calling URL : http://localhost:1000/shopping/productList
It returns only the string `productList` in the page.
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>