在我在 Spring Boot 中构建的 REST 端点中,我试图将我的传递vehicleDTO
给我的控制器。但在它到达我的控制器之前,有一个错误。
InvalidDefinitionException:无法构造实例
com.vehicle.datatransferobject.VehicleDTO
(没有创建者,如默认构造,存在):无法从对象值反序列化(没有基于委托或属性的创建者)
车辆DTO
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.myvehicle.EngineType;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class VehicleDTO {
@JsonIgnore
private Long id;
@NotNull(message = "vehiclenumber can not be null!")
private String vehiclenumber;
@Min(2)
@NotNull(message = "Seat count can not be less than 2!")
private Integer vehicleseatcount;
@NotNull(message = "Engine Type can not be null!")
private EngineType enginetype;
@Max(5)
private Integer vehiclerating;
private VehicleDTO(Long id, String vehiclenumber, Integer vehicleseatcount, EngineType enginetype,Integer vehiclerating){
this.vehiclenumber=vehiclenumber;
this.vehicleseatcount=vehicleseatcount; …
Run Code Online (Sandbox Code Playgroud) 我已经实现了 Ouath2 作为我的 Spring boot rest 控制器的安全性。在调用我的任何资源之前,oauth2 会验证用户表中用户的令牌。我的问题是如何避免如果 user1 令牌在请求中并且请求正文具有用于 user2 修改的数据的情况?我需要进行检查,以便 User1 和他的令牌应该只能为他自己修改数据。如果 user1 和他的 toekn 在请求正文中有 user2 数据应该抛出 403。
我在想是否可以从服务层的令牌中获取用户名来进行此检查?任何帮助表示赞赏
我试图使用docker-compose命令并调出容器.但面临错误INTERNAL ERROR:无法创建临时目录!我无法拉,停,rm或UP和容器.谁能建议如何解决这个问题?
我是Java 8的新手,还处于学习阶段.我必须使用java 8编写以下逻辑.我有一个Json数组数据,我的json结构如下所示.
{"list":[{"core":{"min":281.556,"max":286.67,"top":972.73},"dt":"2017-02-16 12:00:00"},{"core":{"min":281.821,"max":285.66,"top":970.91},"dt":"2017-02-16 15:00:00"},{"core":{"min":274.498,"max":277.05,"top":970.44},"dt":"2017-02-16 18:00:00"},{"core":{"min":271.503,"max":272.78,"top":969.32},"dt":"2017-02-16 21:00:00"}]}
Run Code Online (Sandbox Code Playgroud)
这个jsonArray将包含大约100个jsonObject,每3小时有一个数据.我实际上需要使用java 8流或使用其他java 8功能分别找到max的平均值和max的平均值.另一个标准是最小和最大平均值应基于白天或夜晚.如果dt包含06:00或09:00或12:00或15:00,则应为dayavg(白天的最小值+最大值),否则应为夜间平均值((夜间最小值+最大值)).顶部不依赖于白天或黑夜.任何帮助赞赏
下面是使用java 7的登录.需要使用Java 8功能.
int dayavg=0;
int nightavg = 0;
int topavg=0;
int day=0;
int night = 0;
int top=0;
for(int i=0;i<50;i++){
JsonNode node = list.get(i);
String dt = node.get("dt").textValue();
if(dt.contains("06:00:00")|| dt.contains("09:00:00") || dt.contains("12:00:00") || dt.contains("15:00:00")){
int val = node.get("core").get("min").asInt() + node.get("core").get("max").asInt();
day = day + val;
}
if(dt.contains("18:00:00")|| dt.contains("21:00:00") || dt.contains("00:00:00") || dt.contains("03:00:00")){
int val = node.get("core").get("min").asInt() + node.get("core").get("max").asInt();
night = night + val;
}
int val = node.get("core").get("top").asInt(); …
Run Code Online (Sandbox Code Playgroud) 我正在实施 Oracle Advanced Queue,并且对它完全陌生。我对此有一些疑问。下面是我的代码:
package com;
/* Set up main class from which we will call subsequent examples and handle
exceptions: */
import java.sql.*;
import oracle.AQ.*;
public class test_aqjava
{
public static void main(String args[])
{
AQSession aq_sess = null;
try
{
aq_sess = createSession(args);
createAqTables(aq_sess);
enqueueMsg(aq_sess);
// dequeueMsg(aq_sess);
aq_sess.close();
/* now run the test: */
// runTest(aq_sess);
}
catch (Exception ex)
{
System.out.println("Exception-1: " + ex);
ex.printStackTrace();
}
}
public static AQSession createSession(String args[])
{
Connection db_conn;
AQSession aq_sess …
Run Code Online (Sandbox Code Playgroud) 我是 Angular 和 Docker 的新手。我开发了一个 Angular 7 应用程序并尝试对其进行 dockerize。我确实看过很多教程,并且能够构建 Docker 映像。下面是我的 Dockerfile
FROM nginx:1.13.3-alpine
## Remove default nginx website
RUN rm -rf /usr/share/nginx/html/*
COPY ./ /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)
我使用命令运行 docker 容器
docker run -d --name containerName -p 8082:80 imagename
Run Code Online (Sandbox Code Playgroud)
我的容器确实启动了,在浏览器中查看http://IP-address:8082/ 后,我可以看到我的应用程序的 index html。除了我的应用程序的其他 url 像登录页面 ( http://IP-address:8082/login ) 或仪表板 ( http://IP-address:8082/dashboard ) 工作。我看到 404 页面未找到问题。还缺少什么来确保路由在我的 dockerized 容器中工作?
下面是我的 default.conf 文件
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / …
Run Code Online (Sandbox Code Playgroud) 我正在使用Jersey.Am开发一个休息Web服务,这对于webservices来说是一个新的东西.我需要将客户列表作为输入传递给rest webservice.在实现它时遇到了问题.
下面是我的客户对象类
@Component
public class customer {
private String customerId;
private String customerName;
Run Code Online (Sandbox Code Playgroud)
我的终点如下.addCust是调用webservice时调用的方法
@Path("/add")
@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON})
public String addCust(@Valid customer[] customers){
//And json input is as below
{customers:{"customerId":"1","customerName":"a"},
{"customerId":"2","customerName":"b"}}
Run Code Online (Sandbox Code Playgroud)
但是球衣无法将json阵列转换为客户阵列.它返回400.日志显示"c没有可行的选择".如何将Json数组作为输入传递给webservice并转换为Array或ArrayList.任何帮助赞赏.
我是hibernate的初学者.当我试图将对象保存到不存在该表的DB中时.我得到一个异常org.hibernate.TransactionException:org.hibernate.engine.HibernateTest.main上的org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:170)中的事务未成功启动(HibernateTest.java: 20)
这是我的类文件,我试图将对象保存到DB中
package org.rk.hibernate;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.rk.dto.UserDetails;
public class HibernateTest {
public static void main(String[] args) {
UserDetails user = new UserDetails();
user.setUserId(1);
user.setUserName("GNS");
try {
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
session.save(user);
session.getTransaction().commit();
}
catch(HibernateException e) {
e.printStackTrace();
System.out.println("in exception");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用oracle 11g发布2和hibernate 4.2.4 ..请帮忙
java ×3
rest ×3
docker ×2
spring-boot ×2
angular ×1
angular7 ×1
dockerfile ×1
hibernate ×1
jackson ×1
java-8 ×1
java-stream ×1
jersey ×1
json ×1
oauth-2.0 ×1
oracle ×1
spring ×1
ubuntu ×1
web-services ×1