7 ms·
HTTP+JSON Services in Modern Java
- frncscgmz 14y agoI've build REST applications in Java using the Restlet library before, anyone knows some of the advantages of Jersey over Restlet?
- avelis 14y agoI haven't played with Restlet. From my experience Jersey's magic sauce is its annotations. Jersey's featured set of annotations can allow for expressive source code. Basically I can create and define my API with less boilerplate source code.
- rshm 14y ago404 here.
- Terretta 14y agoSeems to be at http://nerds.airbnb.com/httpjson-services-in-modern-java#more http://nerds.airbnb.com/httpjson-services-in-modern-java#mor...
- Cyranix 14y agoThanks for the introduction to Twitter Commons! I've used Dropwizard in the past and loved it. It seems like the shared libraries of both frameworks -- Jetty, Jersey, and Jackson -- provide them with an equally strong foundation. Guice seems to be provided by default in Twitter Commons whereas it's provided via a separate module in Dropwizard, so that's more or less another commonality between them. Can anyone describe differences or pros/cons between using these two frameworks? (Similarly, who was being referenced in the phrase "an opinionated framework that forces certain patterns on you")?
- reissbaker 14y agoI can't speak for Tobi, but my guess is he was talking about Rails. DHH isn't coy about having strong opinions.
- tknaup 14y agoDropwizard wasn't around yet when we built our first service. I'm not referencing any particular framework, but Rails is an example. Recently the Rails team has done a lot to modularize it too though.
- mintplant 14y agoThis would be a far better article if it was interwoven with actual code examples. Otherwise, you'd have to switch back and forth between a copy and their code and the blog page to actually grok what they're talking about.
- sandGorgon 14y agoCould you talk about how you're deploying these services. Coming from passenger world, I found jetty deployment to be a bit complex. are you using maven, etc.? I would be very interested to find out how a ruby centric dev shop is handling Java deployments and builds. P. S. how about mocks and testing?
- keefe 14y agojetty is best deployed embedded
- PascalW 14y agoI work in a Ruby + Java shop and we do Java deployments with maven + nexus + capistrano. Works like a champ. I'll see if I have some time to write a blogpost about it.
- sandGorgon 14y agothat would be great ! do talk about which app server (tomcat, jetty, etc.)
- tknaup 14y agoThis would be another blog post by itself. In short: build a fat jar with maven, package with arx, run with runit. Most projects use Junit and Easymock.
- csense 14y agoPlease, if you're starting a new Java project, and have any say at all in the build process, don't use Maven. Go with Ant. You'll thank yourself later, and anyone else who ever has to build the project will also thank you. Personally, I can't begin to describe the awfulness of Maven in words. I'd sooner use makefiles and shell scripts, or manually type in build commands written in pen on a stack of notecards. But you don't have to take my word for it; here's an SO discussion about how much Maven sucks: http://stackoverflow.com/questions/861382/why-does-maven-have-such-a-bad-rep http://stackoverflow.com/questions/861382/why-does-maven-hav...
- ElectronPusher 14y agoMinor gripe, but a list seems wrong for that usage. A map or set seems more appropriate. Referring to: https://github.com/airbnb/twitter-commons-sample/blob/master/src/main/java/com/airbnb/suggest/rest/SuggestionResource.java https://github.com/airbnb/twitter-commons-sample/blob/master...
- neuronotic 14y agoDid anyone have success at getting this to work? I'm getting this error: com.twitter.common.application.AppLauncher exit SEVERE: Failed to apply arguments java.lang.IllegalArgumentException: Failed to parse: app_class - No parser found for java.lang.Class<? extends com.twitter.common.application.Application>