.NET WebAPI + 用于产品数据库的 MongoDB Spring Boot Security (JWT) + MySQL 用于用户帐户数据库和身份验证 我正在尝试从 Spring boot 服务内的 .NET webAPI 获取价格
Spring 启动产品服务:
@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 Controller :
[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://... 地址上带有不安全标签酒吧。这是主要原因吗? Spring Boot服务端是否需要进行SSL配置?或者我的代码有任何其他问题。请帮忙。
最佳答案
在产品应用中,您是否看到 getProductPrice() 发送的任何传入请求?访问日志中可能有什么内容?如果是,响应状态是什么?如果没有,为什么 getProductPrice() 没有发送请求?在这种情况下,发送方一定有错误。
关于java - NullPointerException 通过 Service 使用 RestTemplate 从 Spring Boot(具有 JWT Security)Rest 服务中的 .NET webapi 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62243458/