From 32e67730d8c969ec33926d3b5b57fd30f11b15a4 Mon Sep 17 00:00:00 2001 From: Michael Jett Date: Tue, 15 May 2012 13:41:27 -0400 Subject: [PATCH] ClientAPI maps to individual clients by IDs --- .../mitre/openid/connect/web/ClientAPI.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/web/ClientAPI.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/web/ClientAPI.java index f05f05149..c65966a98 100644 --- a/openid-connect-server/src/main/java/org/mitre/openid/connect/web/ClientAPI.java +++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/web/ClientAPI.java @@ -18,6 +18,8 @@ package org.mitre.openid.connect.web; import org.mitre.oauth2.model.ClientDetailsEntity; import org.mitre.oauth2.service.ClientDetailsEntityService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -56,9 +58,22 @@ public class ClientAPI { @RequestMapping(method = RequestMethod.POST, headers="Accept=application/json") @ResponseBody - public ClientDetailsEntity addClient(@RequestBody ClientDetailsEntity c) { - /*ClientDetailsEntity created = clientService.createClient() - return created;*/ + public ClientDetailsEntity apiAddClient(@RequestBody ClientDetailsEntity c) { + return null; } + + @RequestMapping(value="/{id}", method=RequestMethod.GET, headers="Accept=application/json") + @ResponseBody + public Object apiShowClient(@PathVariable("id") Long id, ModelAndView modelAndView) { + ClientDetailsEntity client = clientService.loadClientByClientId(id.toString()); + if (client == null) { + return new ResponseEntity(HttpStatus.NOT_FOUND); + } + + modelAndView.addObject("entity", client); + modelAndView.setViewName("jsonClientView"); + + return modelAndView; + } }