What does it mean that Apache Sling "more REST" than Spring-mvc?
java, rest, sling, spring-mvc, web
Solution
I agree with others that it's hard to measure the RESTfulness of a framework ;-)
And my knowledge Spring MVC is very limited, so I cannot comment on that.
Apache Sling fosters a RESTful way of designing applications, due to its core design and concepts like resources being first-class citizens, default 1:1 mapping of URLs to the content repository, etc.
If you follow its design patterns and examples you're very likely to end up with an application that's RESTful, with clean URLs, no HTTP sessions, HTTP methods which do the right thing etc.
You can also do non-RESTful things with Sling but it's harder, you'd be fighting against Sling natural way of doing things.
So Sling naturally leads you to RESTful applications. Other frameworks might allow you to be RESTful or not, with equal weight. In Sling the emphasis is clearly on being RESTful, and all the core tools and techniques help you get there.
Problem
Sometimes vaguely I hear that Apache Sling more REST than Spring-mvc from my colleagues. I don't have possibilities to know about it from them. I have enough experience with Spring-mvc and I am novice in Apache Sling. Can anyone explain the above quote? P.S. I want to see the list of non-REST features of these products. for example: `Spring-mvc` allow to use session attributes and it is contradicts REST principe - to be stateless.