Исключить атрибут в @BadgerFish в RESTEasy - PullRequest
1 голос
/ 28 сентября 2011

Я собираюсь сделать одно веб-приложение, которое является RESTful.Я использую RESTEasy API для этого.Я использую аннотацию @BadgerFish для сопоставления с POJO в запросе POST.Но у меня есть несколько атрибутов, которые не должны позволять заходить в параметре.Поэтому моя проблема в том, как я могу исключить эти атрибуты или как запретить @BadgerFish устанавливать эти значения в параметре?

Например:

Моя информация из базы данных:
Имя таблицы: user
Поля: name->String, loginCoung->int

Мой POJO:

@BadgerFish
public class POJO{
private Stirng name;
private int loginCount = 0;


public String getName() {
        return name;
    }
public void setName(String nm) {
        this.name= nm;
    }
public int getLoginCount() {
        return loginCount;
    }
public void setLoginCount(int loginCount) {
        this.loginCount = loginCount;
    }   
}

Мой код RESTFul:

    @POST
    @Path("/user")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Response postUser(@BadgerFish POJO p) {      

        System.out.println("post req.....");
        return Response.status(200).entity("sucess"+p.getLoginCount()).build(); 
    }

Данные JSON поступают в POST-запросе:
Случай 1: если JSON равен -> {"name": "abc"} Ответ будет 0 (работает как положено)
Случай 2: если JSON равен -> {"name": "abc", "loginCount": "12"}.Не следует устанавливать значение loginCount в POJO obj.и ответ должен быть 0.

1 Ответ

0 голосов
/ 07 февраля 2012

Как насчет того, чтобы просто переопределить setLoginCount (), чтобы выполнить любое необходимое действие (например, установить вторичный флаг или что-то подобное)?

...