小编RK3*_*RK3的帖子

InvalidDefinitionException:无法构造`com.vehicle.datatransferobject.VehicleDTO`的实例

在我在 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)

rest jackson spring-boot spring-restcontroller

9
推荐指数
3
解决办法
2万
查看次数

Oauth2 从令牌中获取用户名

我已经实现了 Ouath2 作为我的 Spring boot rest 控制器的安全性。在调用我的任何资源之前,oauth2 会验证用户表中用户的令牌。我的问题是如何避免如果 user1 令牌在请求中并且请求正文具有用于 user2 修改的数据的情况?我需要进行检查,以便 User1 和他的令牌应该只能为他自己修改数据。如果 user1 和他的 toekn 在请求正文中有 user2 数据应该抛出 403。

我在想是否可以从服务层的令牌中获取用户名来进行此检查?任何帮助表示赞赏

rest spring oauth-2.0 spring-boot spring-security-oauth2

6
推荐指数
1
解决办法
9650
查看次数

docker-compose INTERNAL ERROR:无法创建临时目录

我试图使用docker-compose命令并调出容器.但面临错误INTERNAL ERROR:无法创建临时目录!我无法拉,停,rm或UP和容器.谁能建议如何解决这个问题?

ubuntu docker docker-compose

5
推荐指数
2
解决办法
7733
查看次数

使用java 8流查找平均值

我是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)

java java-8 java-stream jackson-databind

5
推荐指数
1
解决办法
1191
查看次数

Java 中的 Oracle 高级队列

我正在实施 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)

java oracle advanced-queuing

4
推荐指数
1
解决办法
8786
查看次数

Dockerizing Angular 应用程序后路由不起作用

我是 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)

angular-routing docker dockerfile angular angular7

4
推荐指数
1
解决办法
4032
查看次数

如何在泽西Rest Webservice中接受json数组输入

我正在使用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.任何帮助赞赏.

java rest json web-services jersey

3
推荐指数
1
解决办法
1万
查看次数

hibernate-- org.hibernate.TransactionException:事务未成功启动

我是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 ..请帮忙

hibernate

2
推荐指数
2
解决办法
3万
查看次数