【问题标题】:NullPointerException Fetching data from .NET webapi inside Spring Boot (with JWT Security) Rest Service using RestTemplate via ServiceNullPointerException 从 Spring Boot 中的 .NET webapi 获取数据(使用 JWT 安全性)Rest Service 使用 RestTemplate via Service
【发布时间】:2025-12-16 01:30:01
【问题描述】:

.NET WebAPI + MongoDB 用于产品数据库 Spring Boot Security (JWT) + MySQL 用于用户帐户数据库和身份验证 我正在尝试从 Spring Boot 服务中的 .NET webAPI 获取价格

Spring boot 产品服务:

@Service
public class ProductService {
    public long getProductPrice(String pid) {
        // uri that returns product price (like 9999.99)
        final String uri = "http://localhost:5000/api/products/price?pid="+pid;
        RestTemplate restTempl = new RestTemplate();
        long price = restTempl.getForObject(uri, long.class);
        System.out.println(price); // here it prints null
        return price;
    }
}

.NET WebAPI 控制器:

[HttpGet("price")]
public decimal GetProductPrice([FromQuery] string pid){
    return _productService.GetProductPrice(pid);
}

一切正常,即使是“建立成功”。但是,每当调用 getProductPrice(提供的 pid)时,它都会在控制台上打印并返回 null,并带有 NullPointerException。

更新: 我暂时切换到一个简单的 PHP Rest API 并调用 uri。这次一切正常,并且在 Spring Boot 方面没有给出任何异常的获取和打印价格。 我注意到,当我在网络浏览器中使用 uri http://... 时,它会自动重定向到 https://...,地址上带有 NOT SECURE TAG酒吧。这是主要原因吗?是否需要在 Spring Boot 服务端进行任何 SSL 配置?或者我的代码有任何其他问题。请帮忙。

【问题讨论】:

  • Uri 正确吗?产品应用程序正在运行?产品应用程序方面的任何错误?产品应用返回的有效响应?
  • @Serge uri 从 mongodb 返回产品价格。也在邮递员和铬上进行了测试。这是一个 GET 请求

标签: java spring-boot asp.net-web-api c#-4.0 resttemplate


【解决方案1】:

在产品应用程序中,您是否看到 getProductPrice() 发送的任何传入请求?访问日志中的内容可能是什么?如果是,响应状态如何?如果不是,为什么 getProductPrice() 没有发送请求?在这种情况下,发送方肯定有错误。

【讨论】:

    最近更新 更多