Skip to content

Instantly share code, notes, and snippets.

@mariuszs
Last active January 18, 2023 13:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mariuszs/4ae5f8a88351930e47635921ca9b6f41 to your computer and use it in GitHub Desktop.
Save mariuszs/4ae5f8a88351930e47635921ca9b6f41 to your computer and use it in GitHub Desktop.
FriendlyIdConverterProvider for Dropwizard
@Provider
public class FriendlyIdConverterProvider implements ParamConverterProvider {
@Override
public <T> ParamConverter<T> getConverter(Class<T> clazz, Type type, Annotation[] annotations) {
if (clazz.getName().equals(UUID.class.getName())) {
return new ParamConverter<T>() {
@SuppressWarnings("unchecked")
@Override
public T fromString(String value) {
UUID uuid = FriendlyId.toUuid(value);
return (T) uuid;
}
@Override
public String toString(T bean) {
return FriendlyId.toFriendlyId((UUID) bean);
}
};
}
return null;
}
}
@Maddoc42
Copy link

Line 13 should probably read UUID uuid = FriendlyId.toUuid(value);

@mariuszs
Copy link
Author

sounds sensible

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment