相关疑难解决方法(0)

何时创建Enum实例?

Enums在Java中有一个简单的问题请参考以下代码.什么时候像PropName .CONTENTS实例化实例?

public enum PropName {

  CONTENTS("contents"),
  USE_QUOTES("useQuotes"),
  ONKEYDOWN("onkeydown"),
  BROWSER_ENTIRE_TABLE("browseEntireTable"),
  COLUMN_HEADINGS("columnHeadings"),
  PAGE_SIZE("pageSize"),
  POPUP_TITLE("popupTitle"),
  FILTER_COL("filterCol"),
  SQL_SELECT("sqlSelect"),
  ;

  private String name;

  private PropName(String name) {
    this.name = name;
  }

  public String getName() {
    return name;
  }
}
Run Code Online (Sandbox Code Playgroud)

java enums

6
推荐指数
2
解决办法
1087
查看次数

RestEasy忽略枚举的@JsonCreator方法

我在使RestEasy(3.0.10.Final)将路径参数解析为枚举值时遇到问题.

有枚举定义......

package com.stines;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonValue;

public enum MyNumber {
    One("number-one"), Two("number-two");

    @JsonIgnore private final String text;

    @JsonIgnore
    private MyNumber(final String text) {
        this.text = text;
    }

    @JsonValue
    public String getText() {
        return text;
    }

    @JsonCreator
    public static MyNumber byText(final String text) {
        for (final MyNumber value : MyNumber.values()) {
            if (value.getText().equals(text)) return value;
        }
        throw new IllegalArgumentException("Unknown number");
    }
}
Run Code Online (Sandbox Code Playgroud)

......和终点......

@PUT
@Path("{number}")
void putNumber(
        @PathParam("number") MyNumber number
);
Run Code Online (Sandbox Code Playgroud)

......我希望能打到PUT http://my-server/number-one.

我看到以下情况:

Caused …
Run Code Online (Sandbox Code Playgroud)

java enums resteasy jackson fasterxml

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

标签 统计

enums ×2

java ×2

fasterxml ×1

jackson ×1

resteasy ×1