我有这段代码,我想在没有找到资源的情况下抛出异常
Menu menu = menuService.findById(addMenuAmount.getMenuId())
.orElseThrow(com.tdk.web.exception.ResourceNotFoundException(“menu " +
addMenuAmount.getMenuId() + " not found "));
Run Code Online (Sandbox Code Playgroud)
但我得到了一个编译错误:
com.tdk.web.exception cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud) 我正在尝试根据他们的名称获取产品评论地图,并且需要像这样的地图
Map<String, Set<String>> productReviewMap;
Run Code Online (Sandbox Code Playgroud)
但是当我尝试获取地图时,我得到了
Map<String, Set<Set<String>>> productReviewMap
Run Code Online (Sandbox Code Playgroud)
基于以下代码:
Map<String, Set<Set<String>>> productReviewMap = products.stream().collect(
Collectors.groupingBy(Product::getName, Collectors.mapping(Product::getReviews, Collectors.toSet())));
Run Code Online (Sandbox Code Playgroud)
我如何获得预期的地图。我们在流中使用 flatMap 但如何在收集器中实现它?
我有以下openapi文件。我预计要生成的 API 类名将是SampleApi因为操作 "/hello" 被标记为 "sample"
tags。但是它使用operation名称生成 API 类名称,它是HelloApi. 我在这里缺少什么?我正在使用openapi-generator-maven-plugin版本3.3.1
openapi: "3.0.0"
info:
version: 1.0.0
title: Sample Service
tags:
- name: sample
paths:
/hello:
get:
summary: Says hello world
operationId: greet
tags:
- sample
responses:
200:
description: ok
content:
plain/text:
schema:
type: string
example: Hello World
当我尝试运行 Maven 构建时,我遇到了构建错误。我创建了一个简单的 Java 项目,其中包含 lambda 函数,因此我得到了
[ERROR] (...) lambda expressions are not supported in -source 1.5
[ERROR] (use -source 8 or higher to enable lambda expressions)
Run Code Online (Sandbox Code Playgroud)
我的 Java 版本是 1.8.0_172,我的 Maven 版本是 3.6.0。
我使用 Java 8 和 Spring Boot2.0 开发了一个简单的微服务,基于 REST。它有自己的 REST 端点,我可以使用 Postman 调用它,并且得到很好的响应。如果我想在 AWS 云上部署相同的应用程序,现在我对理解设计和架构有疑问。我希望我的应用程序像无服务器一样运行,因此我想使用其 Lambda 服务在 AWS 上进行部署。
请帮助解决我的以下疑问:- 1) 首先,我可以将我的整个应用程序代码上传到 AWS Lambda 以使其无服务器吗?
2) 如果是,那么当请求通过它时,我是否需要使用 AWS API Gateway(强制)来调用我的 Lambda 函数?
3) 如果是(第 2 点),那么我原来的微服务代码中的端点将变得无效并被新的 API 网关端点覆盖?
我的全部疑问是关于端点,哪个端点将用于调用 Lambda 函数?
请协助澄清我的疑问。如果有任何样本参考材料,那就太好了。
干杯
amazon-web-services java-8 spring-boot microservices aws-lambda
我无法理解方法签名:
static <T,U extends Comparable<? super U>> Comparator<T> comparing(Function<? super T,? extends U> keyExtractor)
Run Code Online (Sandbox Code Playgroud)
被super, extends, 通配符 ( ?) 和多个尖括号混淆。请不要误会我的意思,我了解基本的泛型。正是这里使用的更高的构造让我感到困惑。
所以,我有Stream一些对象,我需要从Stream. 例如从第 2 到第 4 个元素。
Stream<String> strs = Stream.of("qwe", "asd", "zxc", "rty", "fgh", "vbn");
Run Code Online (Sandbox Code Playgroud)
并且仅从第 2 到第 4 个元素返回: asd, zxc, rty .
是否可以?
谢谢!
我想知道支持java8和Tomcat 8.5的ojdbc版本。目前我正在使用 ojdbc14_g.jar,它在我启动应用程序时会出现版本兼容性问题。这适用于 Tomcat 7,但不适用于 Tomcat 8.5。
这适用于 Tomcat 7,但不适用于 Tomcat 8.5。
我正在学习 Spring Boot,当服务没有在数据库中找到项目时,我试图抛出异常,因此,我尝试使用 optional 但当我测试它时,除了异常之外,我只得到一个空响应
@GetMapping(value = "/compras", produces = "application/json")
public Optional<Compras> retrieveAllCompras(@RequestParam String id) {
return Optional.of(compraRepository.findById(id)).orElseThrow(RuntimeException::new);
Run Code Online (Sandbox Code Playgroud)
当在数据库中找不到该项目时,我预计会出现异常
试图理解方法引用,但我很难理解。坚持比较器示例。
为了让我的大脑更轻松,我一直从基础开始(匿名类实现 >> laba 表达式 >> 方法引用)它是方法引用和比较器示例,我无法让它工作。
我想排序的 POJO(从一些互联网示例中提取 - mkyong)
public class Fruit{
private int quantity;
private String name;
....
}
Run Code Online (Sandbox Code Playgroud)
创建要使用的测试数据:
Fruit[] fruits = new Fruit[3];
Fruit pineapple = new Fruit("pineapple",10);
Fruit orange= new Fruit("orange",4);
Fruit kiwi= new Fruit("kiwi",15);
fruits[0] = pineapple;
fruits[1] = orange;
fruits[2] = kiwi;
Run Code Online (Sandbox Code Playgroud)
匿名排序类实现:
Comparator<Fruit> anonymousSortByname = new Comparator<Fruit>(){
public int compare(Fruit f1,Fruit f2){
return f1.getName().compareTo(f2.getName());
}
};
Run Code Online (Sandbox Code Playgroud)
排序 :
Arrays.sort(fruits,anonymousSortByname);
Run Code Online (Sandbox Code Playgroud)
既然这可行,我已经明白匿名类可以转换为 lambda 表达式(前提是它们是功能接口等......)
Lambda 实现:
Comparator<Fruit> lambdaSortByname =
(Fruit f1,Fruit f2) -> …Run Code Online (Sandbox Code Playgroud) java-8 ×10
java ×7
java-stream ×2
lambda ×2
optional ×2
spring-boot ×2
aws-lambda ×1
generics ×1
maven ×1
ojdbc ×1
pagination ×1
response ×1
tomcat8.5 ×1