When using the API Engine how do you hide parameters

I have several classes that represent objects queried from the database tables, but I do not want all the fields to be presented in the return from the API calls.
If the properties are public then they get returned, if they are not then the interaction with the database does not work.
For example I have a user object referenced from another object, I don’t want the users passwords returned, just the email address and objectId.
Are there any attributes I can put on the methods to stop them being discover by the API engine and not generated? If not what is the expected way to manage this.

You can declare fields “transient”. To exclude a property, you can use the following Java class-level annotation:

@ExcludeProperty( propertyName = “foo” )

It is defined in the weborb.service package.

I added this onto my Tenant class @ExcludeProperty( propertyName = “adminLimit” )

@ExcludeProperty( propertyName = "adminLimit" )
public class Tenant
{
private Integer adminLimit;
private String ownerId;
private String objectId;
private String registrationCode;
private java.util.Date updated;
private Integer venueLimit;
private java.util.List<BackendlessUser> users;
private String name;
private java.util.Date created;
public Integer getAdminLimit()
{
return this.adminLimit;
}
}

As below you can see that the adminLimit property is still there… what am I doing wrong?
http://support.backendless.com/public/attachments/4f624c70757fae8bf92d99d303554cab.png</img>

Looks like API Engine does not observe that rule - it works in the SDK though. We will investigate this further.

Hello, Ian.
This issue was fixed.
I think, you can expect it in the release on the next week.

And one more, you can use another annotation, wich is more flexible:
@ExcludeProperties( propertyNames = {“adminLimit”} )