小编Ily*_*nko的帖子

Spring 请求映射与正则表达式如 javax.ws.rs

我正在尝试将此 Google App Engine Maven 服务器存储库重写为 Spring。

我有 URL 映射问题。Maven 回购服务器标准如下所示:

  1. 以斜线结尾的 URL 指向一个文件夹,例如:

    http://127.0.0.1/testDir/
    http://127.0.0.1/testDir/testDir2/
    
    Run Code Online (Sandbox Code Playgroud)
  2. 所有其他(末尾没有斜线)指向文件,例如:

    http://127.0.0.1/testFile.jar
    http://127.0.0.1/testFile.jar.sha1
    http://127.0.0.1/testDir/testFile2.pom
    http://127.0.0.1/testDir/testFile2.pom.md5
    
    Run Code Online (Sandbox Code Playgroud)

目录文件的原始应用程序映射。

使用了@javax.ws.rs.Path与 Spring 不同的支持正则表达式的注释。

我尝试了一堆组合,例如这样的:

http://127.0.0.1/testDir/
http://127.0.0.1/testDir/testDir2/
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何在 Spring 应用程序中以正确的方式做到这一点。

我想避免编写自定义 servlet 调度程序。

java regex mapping spring javax.ws.rs

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

如何用Jackson定义2级继承结构

我有以下基本(界面)结构

@JsonTypeInfo(
        use = JsonTypeInfo.Id.NAME,
        property = "messageType",
        visible = true)
@JsonSubTypes({
        @JsonSubTypes.Type(value = AppMessage.class, name = "APP"),   
        @JsonSubTypes.Type(value = NotificationMessage.class, name = "NOTIFICATION"),
})
public interface Message {
    MessageType getMessageType();

    Date getTimestamp();
}
Run Code Online (Sandbox Code Playgroud)

该类AppMessage是一个简单的 POJO(目前),例如

public class AppMessage implements Message {

    private String appId; 
    ...
    private Date timestamp = Date.from(Instant.now());

}
Run Code Online (Sandbox Code Playgroud)

但这NotificationMessage是另一个界面

public class AppMessage implements Message {

    private String appId; 
    ...
    private Date timestamp = Date.from(Instant.now());

}
Run Code Online (Sandbox Code Playgroud)

当然还有另外两个实现 的pojo asNotificationAckMessage和类。NotificationReqMessageNotificationMessage …

java json jackson

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

标签 统计

java ×2

jackson ×1

javax.ws.rs ×1

json ×1

mapping ×1

regex ×1

spring ×1