In my own case, there are a few reasons I'd like for there to be getters on the various parts of a RequestSpecification:
1) Symmetry. If I can set the content type of a RequestSpecification, I should be able to get it back. I can't think of any good reason to make the values of the fields a mystery.
2) Debugging. When I'm troubleshooting some test that's gone awry, I often find myself asking, "OK, why is the Content-Type getting set to that weird value? Is it because the RequestSpecification factory is setting it, or because some other part of our test infrastructure is setting it, or because the HTTP proxy downstream is setting it?" It would be nice to peer into the RequestSpecification.
3) To cut down on questions. Every other week, some coworker asks me, "How do I find out what headers the RequestSpecification is set to use?" And I'm tired of answering, "There isn't a good way."
4) We have a RequestSpecification factory class that creates RequestSpecification instances to make testing different APIs within our set of services easier. The people who write test cases don't know and don't want to know the details of this factory - whether this particular instance uses basic authentication or token authentication, for example. In the rare cases they need to know, they want to just look inside. I guess this is a variation of #2 above.
The way we use RequestSpecification is sort of as a collection of parameters for a request that we reuse over and over for convenience. Who ever heard of a collection where you're not allowed to get the elements after you add them?
That's my own perspective,
Todd.