In my case, each user has a profile with lots of attributes, e.g. gender, age, name. What's the best practice to design the RESTful API to get those attributes? The followings are possible solutions:

1. Get all attributes in a single call

Get all attributes:
Request: `GET http://api.domain.com/users/id/profile`

Response: `{"name" : "Jim", "gender" : "male", "age" : 12}`
2. Get attribute one-by-one

Get attributes list:

Request: `GET http://api.domain.com/users/id/profile`

Response: `{ "attributes" : ["name", "gender", "age"] }`

Get a specified attribute:

Request: `GET http://api.domain.com/users/id/profile/name`

Response: `{"name" : "Jim"}`

With the first solution, the client gets all attributes in a single call. However, the problem is that **there's too many attributes, and we'll add more attributes to the profile**. I'm wondering which one is better?