小编bla*_*ide的帖子

适用于Jackson的RESTEasy和ContextResolver <ObjectMapper>

我的RESTEasy JSON响应的自定义问题.

web.xml我使用自动扫描:

<context-param>
    <param-name>resteasy.scan</param-name>
    <param-value>true</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

这是我的自定义类ObjectMapper,(我设置了非空字段和新的人类可读日期):

@Provider
@Produces(MediaType.APPLICATION_JSON)
public class JacksonConfig implements ContextResolver<ObjectMapper> {
    private Logger log = Logger.getLogger(PropertiesConfig.LOG_CATEGORY);
    private ObjectMapper objectMapper;  

    public JacksonConfig() throws Exception  {  

        objectMapper = new ObjectMapper();
        objectMapper.getSerializationConfig().setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
        objectMapper.setDateFormat(new SimpleDateFormat("dd.MM.yyyy"));  
        objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
    }

    @Override
    public ObjectMapper getContext(Class<?> arg0) {
        return objectMapper;
    }  
}
Run Code Online (Sandbox Code Playgroud)

这是我的servlet:

@Path("/search")
public class Search extends ArtesAPI {

    @GET
    @Path("/")
    @Produces(MediaType.APPLICATION_JSON)
    public Response search(@Context HttpServletRequest request){
        RequestManager reqManager = new RequestManager(request);
        MyResponse response = reqManager.doSearchRequest();
        return Response.status(200).entity(response).build(); …
Run Code Online (Sandbox Code Playgroud)

java json response resteasy jackson

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

在Gradle中使用带有Spring MVC应用程序的jettyRun会导致浏览器中的目录列表

我有一个简单的Spring MVC应用程序,它使用基于Java的配置而不是XML.每当我gradle jettyRun从项目目录运行时,我都会在Web浏览器中获得以下内容:

使用Gradle jettyRun的目录列表

当使用Maven jetty-maven-plugin和时,应用程序按预期运行mvn jetty:run.知道我可能做错了吗?

该应用程序的源代码在这里.

java spring spring-mvc gradle maven

5
推荐指数
0
解决办法
292
查看次数

如何在Spring Webflux中获取FilePart的大小

无法弄清楚如何在 REST 端点中使用 FilePart 获取文件的实际大小:

@RestController
public class SomeController {

    @PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public Mono<Long> fileSize(Mono<FilePart> filePart) {
        
        //How to get size of FilePart?

        // I'm not plan to create a File saving content of FilePart. 
        // Maybe it's possible somehow calculate size of all bytes.

        return Mono.empty();
    }
}
Run Code Online (Sandbox Code Playgroud)

更新 以下是我进行文件大小和图像分辨率验证的方法。

控制器:

@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@ResponseStatus(HttpStatus.CREATED)
public Mono<Void> upload(Mono<FilePart> file) {
    return file.flatMap(filepart -> fileService.upload(filepart));
}
Run Code Online (Sandbox Code Playgroud)

服务层的验证方法:

private Mono<byte[]> validateFileSize(FilePart filePart) {
    var maxSize = 1024;
    return FilePartUtils.getByteArray(filePart)
            .filter(bytes …
Run Code Online (Sandbox Code Playgroud)

spring-boot spring-webflux

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

如何在使用Hibernate删除父项时删除所有子行?

我有2张桌子.

// Accounts
@OneToMany(mappedBy="accounts", cascade=CascadeType.ALL)
@Cascade(org.hibernate.annotations.CascadeType.ALL)
private Set<Mails> mails;

// Mails
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="user_id" , referencedColumnName="id", insertable=false, updatable=false)
private Accounts accounts;
Run Code Online (Sandbox Code Playgroud)

如何在删除父行时组织删除所有子行?我试图CascadeType.DELETE_ORPHANAccounts表设置,但如果存在子行,我就无法删除父行.

java sql hibernate one-to-many

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

如何将资源复制到Java中另一个位置的文件中

我正在尝试将项目中的资源复制到磁盘上的另一个位置.到目前为止,我有这个代码:

if (!file.exists()){
    try {
        file.createNewFile();
        Files.copy(new InputSupplier<InputStream>() {
            public InputStream getInput() throws IOException {
                return Main.class.getResourceAsStream("/" + name);
            }
        }, file);                   
    } catch (IOException e) {
        file = null;
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

并且它工作正常,但是这个InputSupplier类已被弃用,所以我想知道是否有更好的方法来做我想做的事情.

java resources file guava

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

使用 Spring Boot 时存储密码的最佳实践

我们正在开发一个 Java Spring Boot 应用程序,该应用程序需要访问数据库,密码存储在文件中application.properties

我们的主要问题是密码上传到 GitLab/GitHub 后可能会被查看。

我发现我们可以使用 Jasypt 来加密数据,但从我读到的内容来看,我需要在执行时使用解密密钥,该密钥也存储在 Git 上,以便使用 Kubernates 进行部署。

在这种情况下有什么方法可以保护我们的密码吗?如果这有什么区别的话,我们正在使用 AWS,并且我们正在尝试使用 EKS 服务,但到目前为止我们已经拥有安装了 K8s 的虚拟机。

password-encryption spring-boot kubernetes

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

将JAX-RS应用程序部署到Tomcat时出现IncompatibleClassChangeError

当我在Tomcat 8上使用JDK 8从Eclipse运行我的Web项目时,一切都运行良好,但是一旦我构建了这个项目并将WAR部署到服务器上的Tomcat 8,我就会收到以下错误:

java.lang.IncompatibleClassChangeError: com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider and com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$Wadl disagree on InnerClasses attribute
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切,但它仍然无法正常工作.

这是我的pom.xml档案:

<project xmlns="http://maven.apache.org/POM/4.0.0"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>RestWebService</groupId>
<artifactId>RestWebService</artifactId>
<version>0.1.0</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.3</version>
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin>
  <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
      <warSourceDirectory>WebContent</warSourceDirectory>
      <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
  </plugin>
</plugins>
 </build>

<dependencies>
    <dependency>
        <groupId>asm</groupId>
        <artifactId>asm</artifactId>
        <version>3.3.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-bundle</artifactId>
        <version>1.19</version>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20140107</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.19</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.19</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.5</version>
    </dependency>
            <dependency>
        <groupId>com.microsoft.sqlserver</groupId> …
Run Code Online (Sandbox Code Playgroud)

rest jax-rs jersey maven tomcat8

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

导入java.util.scanner无法解析

我是Java和编程的新手,我正在关注Derek Banas在YouTube上的教程.这是我的代码到目前为止,我收到一个错误,说"导入java.util.scanner无法解决".

我有编译器合规级别1.7和JRE 1.8.0_25.

import java.util.scanner;

public class Javalesson2 {  

}
Run Code Online (Sandbox Code Playgroud)

java eclipse

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